Python 3.x 代码中有防刮保护的页面?
我试图从网页中提取信息,在处理Xpath helper(chrome扩展)时,它会完美地显示内容,但在将其提交给scrapy时,它会返回“无”或“空”: 网状物: 数字--NN是它所测试的形式Python 3.x 代码中有防刮保护的页面?,python-3.x,xpath,scrapy,Python 3.x,Xpath,Scrapy,我试图从网页中提取信息,在处理Xpath helper(chrome扩展)时,它会完美地显示内容,但在将其提交给scrapy时,它会返回“无”或“空”: 网状物: 数字--NN是它所测试的形式 我尝试过Xpath(/*[@id=“da_price”],/*[@id=“da_price”]/text()),.get(“”),.extract(),.get(“”).strip(),Css,,da_price::text,我还使用了beautifulsoup和scrapy splas hand返回
我尝试过Xpath(
/*[@id=“da_price”]
,/*[@id=“da_price”]/text()
),.get(“”)
,.extract()
,.get(“”).strip()
,Css,,da_price::text
,我还使用了beautifulsoup和scrapy splas hand返回结果无或空。我仍然不想尝试使用selenium,因为链接的数量相当大。您要定位的元素可能会被动态呈现。我尝试了这个,并让它工作,我的目标价格更低的网页上,而不是
import scrapy
class TestSpider(scrapy.Spider):
name = 'testspider'
def start_requests(self):
return [scrapy.Request(
url='https://cutt.ly/bjj3ohW',
)]
def parse(self, response):
price = response.css('.price-final > strong::text').get()
print(price)
测试是否动态渲染的一个好方法是打开Chrome(F12)
中的inspect面板,然后查看网络选项卡下的内容。重新加载页面并查看,第一个响应应该是.html
文件。单击该文件,然后单击响应。在那里,您可以看到可以用Scrapy解析的html代码。单击ctrl+F
并搜索您试图解析的CSS选择器