Python 刮擦跟随链接以及编码错误
我一直在尝试实现一个解析函数 基本上,我通过这个脏兮兮的外壳发现Python 刮擦跟随链接以及编码错误,python,scrapy,Python,Scrapy,我一直在尝试实现一个解析函数 基本上,我通过这个脏兮兮的外壳发现 response.xpath('//*[@id="PagerAfter"]/a[last()]/@href')).extract()[0] 提供指向下一页的url。所以我试着按照下一页的说明去做。我查看了一下堆栈溢出,似乎每个人都使用这个规则(LinkedExtractor…我不认为我需要使用它。不过我很确定我做得完全错了。我最初有一个for循环,它将我想访问的每个链接添加到start_URL中,因为我知道它都是以*p1.htm
response.xpath('//*[@id="PagerAfter"]/a[last()]/@href')).extract()[0]
提供指向下一页的url。所以我试着按照下一页的说明去做。我查看了一下堆栈溢出,似乎每个人都使用这个规则(LinkedExtractor…我不认为我需要使用它。不过我很确定我做得完全错了。我最初有一个for循环,它将我想访问的每个链接添加到start_URL中,因为我知道它都是以*p1.html、*p2.html…等的形式出现的。但我想让它更智能
def parse(self, response):
items = []
for sel in response.xpath('//div[@class="Message"]'):
itemx = mydata()
itemx['information'] = sel.extract()
items.append(itemx)
with open('log.txt', 'a') as f:
f.write('\ninformation: ' + itemx.get('information')
#URL of next page response.xpath('//*[@id="PagerAfter"]/a[last()]/@href').extract()[0]
next_page = (response.xpath('//*[@id="PagerAfter"]/a[last()]/@href'))
if (response.url != response.xpath('//*[@id="PagerAfter"]/a[last()]/@href')):
if next_page:
yield Request(response.xpath('//*[@id="PagerAfter"]/a[last()]/@href')[0], self.parse)
return items
但不工作,我得到一个
next_page = (response.xpath('//*[@id="PagerAfter"]/a[last()]/@href'))
^SyntaxError: invalid syntax
错误。此外,我知道屈服请求部分是错误的。我希望递归调用并递归地将每个页面的每个片段添加到列表项中
谢谢!现在还不清楚您想在这里完成什么。抱歉,这让人困惑。我主要是想查看一个链接。在每个页面上,我都发现有一个“下一步”按钮。下一步按钮会将您带到link(response.xpath('/*[@id=“PagerAfter”]/a[last()]/@href').extract()[0]。我通过scrapy shell解决了这个问题。我的主要问题是我不知道如何遵循此链接,以便刮除网站的所有页面。缺少右括号会导致语法错误:
f.write('\n信息:'+itemx.get('information')
Usenext_page=response.xpath('/*[@id=“PagerAfter”]/a[last()]/@href')).extract_first()
只返回URL。