关于scrapy爬虫,xpath都正确但爬不出东西!

justinlife 2018-03-17 02:08:51
爬虫新手,想爬取网页的标题等,xpath都是正确的但是却无法提取到
# -*- coding: utf-8 -*-
import scrapy
from vip.items import VipItem

class VipspiderSpider(scrapy.Spider):
name = 'vipspider'
allowed_domains = ['cqvip.com']

start_urls = ['http://qikan.cqvip.com/subject/article.aspx?id=983280&from=subject_subjectsearch&ls=1&page=1']


def parse(self, response):
items = []
for each in response.xpath("//div[@class='search-result-list table-list']/table/tbody/tr"):
item = VipItem()
item['title'] = each.xpath("./td[2]/a[@class='btnTitle']").extract()[0]
item['source'] = each.xpath("./td[4]").extract()[0]
item['link'] = each.xpath("./td[@class='source permissinshow']/a[@class='btnTitle btnIsView'][1]/@href").extract()[0]
print item


没有报错!但是什么都没有!这是为什么呢 望大神赐教
...全文
2776 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
isnsk 2021-05-05
  • 打赏
  • 举报
回复 1
我的结果也是空,有大佬能解决吗
isnsk 2021-05-05
  • 打赏
  • 举报
回复
我的也是空 有大佬能解决吗
、Murderer 2021-02-22
  • 打赏
  • 举报
回复
引用 5 楼 DebonairLi 的回复:
麻烦您看一下
注意是class,你打错了
传道解惑也 2019-03-14
  • 打赏
  • 举报
回复
引用 6 楼 Shaw_Road 的回复:
import scrapy
from pachong1.items import Pachong1Item

class BaiduSpider(scrapy.Spider):
name = 'baidu'
allowed_domains = ['baidu.com']
start_urls = ['http://baidu.com/']

def parse(self, response):
# 对爬取的内容进行解析
item = Pachong1Item()
item['title'] = response.xpath('//*[@id="u_sp"]/a[1]/text()').extract()[0]
item['url'] = response.xpath('//*[@id="u_sp"]/a[1]/@href').extract_first()
print(item['title'])
print(item['url'])
return item
我这个也提取不出来
传道解惑也 2019-03-14
  • 打赏
  • 举报
回复
import scrapy
from pachong1.items import Pachong1Item

class BaiduSpider(scrapy.Spider):
name = 'baidu'
allowed_domains = ['baidu.com']
start_urls = ['http://baidu.com/']

def parse(self, response):
# 对爬取的内容进行解析
item = Pachong1Item()
item['title'] = response.xpath('//*div[@id="u_sp"]/a[1]/text()').extract()[0]
item['url'] = response.xpath('//*div[@id="u_sp"]/a[1]/@href').extract_first()
print(item['title'])
print(item['url'])
return item
DebonairLi 2018-08-30
  • 打赏
  • 举报
回复

麻烦您看一下
混沌鳄鱼 2018-03-19
  • 打赏
  • 举报
回复
这里面有一个小坑,tbody是浏览器规范化额外加上去的标签,实际的网页源码并没有,所以还是要自己屏幕打印出来看一下。 第14行改成 response.xpath("//div[@class='search-result-list table-list']/table/tr[position()>1]")
justinlife 2018-03-19
  • 打赏
  • 举报
回复
引用 2 楼 xpresslink 的回复:
这里面有一个小坑,tbody是浏览器规范化额外加上去的标签,实际的网页源码并没有,所以还是要自己屏幕打印出来看一下。 第14行改成 response.xpath("//div[@class='search-result-list table-list']/table/tr[position()>1]")
十分感谢!问题解决了!不过问题是我看的源代码,是有tbody的。。完全不知道是浏览器自己加上去的。。
justinlife 2018-03-19
  • 打赏
  • 举报
回复
这是运行情况 输出为[]

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧