Scrapy是一個網絡爬蟲,我創建了一個蜘蛛。 我想要蜘蛛創建2個鏈接的正文2個HTML文件。 創建的html文件是空的。爲什麼這個xpath表達式不起作用?
import scrapy
from scrapy.selector import Selector
from scrapy.http import HtmlResponse
class DmozSpider(scrapy.Spider):
name = "dmoz"
allowed_domains = ["dmoz.org"]
start_urls = [
"http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
"http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
]
def parse(self, response):
x=response.xpath("//body/text()").extract()
filename = response.url.split("/")[-2] + '.html'
with open(filename, 'wb') as f:
f.write(x)
什麼其他xpath表達式將工作複製body.I嘗試response.xpath(「//body」)。extract()並沒有工作。我知道response.body工作,但我想學習xpath。 – user6658170
這將有助於您澄清您的問題,以確定您最終會在HTML文件中達到什麼目的。如果您只是希望將它們寫入到服務器返回的光盤中,則完全不需要XPath。 – Markus
我希望html文件包含body元素。一旦有效,我將收集所有具有特定類的div元素。 – user6658170