Scrapy'nin response
numarasına benzer seçicilerin css
ve xpath
seçimlerini kullanabilmem için scrapy HTML yanıt nesnesine dönüştürmek istediğim bir ham html dizim var. Nasıl yapabilirim? o hata ayıklama veya test amaçlı ise tümscrapy: html dizesini HtmlResponse nesnesine dönüştürün
11
A
cevap
11
Birincisi, sen Scrapy shell
kullanabilirsiniz:
$ cat index.html
<div id="test">
Test text
</div>
$ scrapy shell index.html
>>> response.xpath('//div[@id="test"]/text()').extract()[0].strip()
u'Test text'
different objects available in the shell vardır oturumu sırasında, response
ve request
gibi.
Veya, bir HtmlResponse
class örneğini ve body
HTML dizesini sağlayabilir:
>>> from scrapy.http import HtmlResponse
>>> response = HtmlResponse(url="my HTML string", body='<div id="test">Test text</div>')
>>> response.xpath('//div[@id="test"]/text()').extract()[0].strip()
u'Test text'
İlgili konular
- 1. dize datetime.time nesnesine dönüştürün
- 2. Temel64 dizesini Java'daki Görüntüye dönüştürün
- 3. base64 dizesini javascript ile dönüştürün
- 4. jQuery - HTML dizesini değiştir
- 5. JSON dizesini Scala'daki bir JSON nesnesine dönüştürme
- 6. base64 dizesini açısal js biçiminde pdf'ye dönüştürün
- 7. Altıgen renk dizesini RGB rengine dönüştürün
- 8. Pandalar frek dizesini zaman çizelgesine dönüştürün
- 9. json dizesini bir harita içine dönüştürmeden dönüştürün
- 10. php dizisini tek bir JSON nesnesine dönüştürün
- 11. Aygıt çerçevesini nesnel c nesnesine dönüştürün c
- 12. jaxb (unmarshal) kullanarak java nesnesine xml dönüştürün
- 13. Açısal yönergesi şablon HTML dizesini
- 14. Scrapy Shell ve Scrapy Splash
- 15. Baz64 dizesini
- 16. ExtJS: html formunu ExtJS'ye dönüştürün
- 17. jquery öğesini html öğesine dönüştürün
- 18. html tablosunu javascript dizgesine dönüştürün
- 19. Scrapy
- 20. Scrapy
- 21. scrapy:
- 22. Scrapy
- 23. Ajax/jQuery ile HTML Dizesini Ayrıştırma
- 24. Herhangi bir tarih dizesini saat dilimi olmadan zaman damgasına dönüştürün
- 25. Python'da "küçük endian" hex dizesini IP adresine dönüştürün
- 26. yyyymmdd dizesini R
- 27. Dizgeyi jQuery nesnesine dönüştürün ve iç eleman öğesini seçin
- 28. IP adresi dizesini Python
- 29. RGBA rengini HTML renk koduna dönüştürün
- 30. Javascript/jQuery - özel html karakterlerini dönüştürün
sayesinde bazı ajaxiness becuase selenyum kullanıyorum, alecxe. Driver.page_source 'ı yeniden gönderme ile aynı nesneye dönüştürmek istiyorum, böylece bazı extractor'ları (css ve xpath selektörlerini kullanarak) lxml'ye başvurmak yerine yeniden kullanabilirim. İkinci seçeneğim ihtiyacım olan şey. – yayu
@yayu, muhtemelen bir HTML Cevabı oluşturmanıza gerek yoktur, daha çok bir "Selector", http://stackoverflow.com/questions/18836286/scraping-with-scrapy-and-selenium ve http: //stackoverflow.com/questions/17975471/selenium-with-scrapy-for-dynamic-page. Yardımcı olabilir. Teşekkürler. – alecxe
teşekkürler. Ben ona bakacağım. – yayu