ScrapyShell使用
2856 ワード
Scrapy Shell
Scrapy端末はインタラクティブな端末で、spiderを起動しないでコードを試したりデバッグしたりすることができます.XPathやCSS式をテストしたりして、彼らの働き方を見たりすることができます.私たちが登ったページから抽出したデータを便利にすることができます.
IPythonがインストールされている場合、Scrapy端末はIPython(標準Python端末に代わる)を使用します.IPython端末は他のものよりも強力で、スマートな自動補完、ハイライト出力、その他の特性を提供しています.(IPythonのインストールを推奨)
Scrapy Shellは、ダウンロードしたページに基づいて、ResponseオブジェクトやSelectorオブジェクト(HTMLおよびXMLコンテンツ)など、使いやすいオブジェクトを自動的に作成します.shellをロードすると、responseデータを含むローカルresponse変数が得られ、responseが入力.bodyはresponseのパッケージを出力し、responseを出力する.headersにはresponseのバッグが見えます.入力response.selectorを選択すると、responseが初期化するクラスSelectorのオブジェクトが取得され、responseを使用することができます.selector.xpath()またはresponse.selector.css()はresponseをクエリーします.Scrapyはresponseのようなショートカットも提供しています.xpath()またはresponse.css()も同様に有効です.
Selectorsセレクタ
Scrapy SelectorsにはXPathとCSS Selector式のメカニズムが内蔵されています.Selectorには4つの基本的な方法がありますが、最もよく使われているのはxpathです.
使用例:
![Uploading scrapyshell1_605828.png . . .]
Scrapy端末はインタラクティブな端末で、spiderを起動しないでコードを試したりデバッグしたりすることができます.XPathやCSS式をテストしたりして、彼らの働き方を見たりすることができます.私たちが登ったページから抽出したデータを便利にすることができます.
IPythonがインストールされている場合、Scrapy端末はIPython(標準Python端末に代わる)を使用します.IPython端末は他のものよりも強力で、スマートな自動補完、ハイライト出力、その他の特性を提供しています.(IPythonのインストールを推奨)
Scrapy Shellは、ダウンロードしたページに基づいて、ResponseオブジェクトやSelectorオブジェクト(HTMLおよびXMLコンテンツ)など、使いやすいオブジェクトを自動的に作成します.shellをロードすると、responseデータを含むローカルresponse変数が得られ、responseが入力.bodyはresponseのパッケージを出力し、responseを出力する.headersにはresponseのバッグが見えます.入力response.selectorを選択すると、responseが初期化するクラスSelectorのオブジェクトが取得され、responseを使用することができます.selector.xpath()またはresponse.selector.css()はresponseをクエリーします.Scrapyはresponseのようなショートカットも提供しています.xpath()またはresponse.css()も同様に有効です.
Selectorsセレクタ
Scrapy SelectorsにはXPathとCSS Selector式のメカニズムが内蔵されています.Selectorには4つの基本的な方法がありますが、最もよく使われているのはxpathです.
xpath(): xpath , selector list
extract(): Unicode list
css(): CSS , selector list , BeautifulSoup4
re(): , Unicode list
使用例:
#
scrapy shell "http://hr.tencent.com/position.php?&start=0#a"
![Uploading scrapyshell1_605828.png . . .]
# xpath
response.xpath('//title')
[\u804c\u4f4d\u641c\u7d22 | \u793e\u4f1a\u62db\u8058 | Tencent \u817e\u8baf\u62db\u8058]
# extract() Unicode
response.xpath('//title').extract()
[u'\u804c\u4f4d\u641c\u7d22 | \u793e\u4f1a\u62db\u8058 | Tencent \u817e\u8baf\u62db\u8058 ']
# ,
print response.xpath('//title').extract()[0]
| | Tencent
# xpath
response.xpath('//title/text()')
# Unicode
response.xpath('//title/text()')[0].extract()
u'\u804c\u4f4d\u641c\u7d22 | \u793e\u4f1a\u62db\u8058 | Tencent \u817e\u8baf\u62db\u8058'
#
print response.xpath('//title/text()')[0].extract()
| | Tencent
response.xpath('//*[@class="even"]')
:
print site[0].xpath('./td[1]/a/text()').extract()[0]
TEG15- ( )
:
print site[0].xpath('./td[1]/a/@href').extract()[0]
position_detail.php?id=20744&keywords=&tid=0&lid=0
:
print site[0].xpath('./td[2]/text()').extract()[0]