采集某知名91网站。

MS可以得到数据。

但是把LXML放到PYTHON里就不行了。

没用scrapy那么高端的轮子。
就是按照最基础的那个教程来的 论坛帖子的抓取方式。

我按照教程去测试了几个漫画站小说站什么的 都没什么问题。

但是91就有问题了。
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36',
'Accept-Language': 'zh-CN,zh;q=0.8,ja;q=0.6'}
data= None
req = urllib.request.Request(url,data,headers)
reqq = request.urlopen(req).read()
conn = reqq.decode('UTF-8','ignore')
print(conn)
doc = etree.HTML(conn)
xslt_root = etree.XML("""\
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="/">
<list>
<xsl:apply-templates select="//*[@id='videobox']/table/tbody/tr/td/div[position()>=1 and count(./a[position()=1]/@href)>0 and count(./a[position()=1]/@title)>0]" mode="list"/>
</list>
</xsl:template>


<xsl:template match="//*[@id='videobox']/table/tbody/tr/td/div[position()>=1 and count(./a[position()=1]/@href)>0 and count(./a[position()=1]/@title)>0]" mode="list">
<item>
<url>
<xsl:value-of select="a[position()=1]/@href"/>
</url>
<title>
<xsl:value-of select="a[position()=1]/@title"/>
</title>
</item>
</xsl:template>
</xsl:stylesheet>
""")
transform = etree.XSLT(xslt_root)
result_tree = transform(doc)
print(result_tree)


MS里可以获取到数据。

但是在PYTHON里就死活获取不到。

始终为空。




举报 使用道具
| 回复

共 5 个关于本帖的回复 最后回复于 2017-5-1 00:32

沙发
Fuller 管理员 发表于 2017-4-30 22:55:05 | 只看该作者
要不试试驱动chrome或者firefox来抓取,这个网页可能是动态性很高的网页
举报 使用道具
板凳
xiaoyuvps 初级会员 发表于 2017-4-30 23:04:25 | 只看该作者
Fuller 发表于 2017-4-30 22:55
要不试试驱动chrome或者firefox来抓取,这个网页可能是动态性很高的网页




我源代码都能看到地址没有变化。

感觉也真的不像动态网页或者有做隐藏地址。。


举报 使用道具
地板
xiaoyuvps 初级会员 发表于 2017-4-30 23:04:56 | 只看该作者
Fuller 发表于 2017-4-30 22:55
要不试试驱动chrome或者firefox来抓取,这个网页可能是动态性很高的网页

而且数谋台测试一点没有问题。
举报 使用道具
5#
Fuller 管理员 发表于 2017-4-30 23:10:25 | 只看该作者
xiaoyuvps 发表于 2017-4-30 23:04
而且数谋台测试一点没有问题。

MS谋数台对动态页面做了处理,变得跟静态页面一样,很多类型的情况都是动态页面的原因
举报 使用道具
6#
xiaoyuvps 初级会员 发表于 2017-5-1 00:32:41 | 只看该作者
Fuller 发表于 2017-4-30 23:10
MS谋数台对动态页面做了处理,变得跟静态页面一样,很多类型的情况都是动态页面的原因
...




使用PhantomJS竟然抓取到了。

看来确实是动态的问题。
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • 运行Apple无法验证的程序的方法
  • 文本聚类分析软件的安装和使用方法
  • 利用AI阅读和分析文本:扣子COZE记录用户反
  • 在网页片段内直观标注——以B站评论采集为
  • 利用AI阅读和分析文本:使用COZE建设游记文

热门用户

GMT+8, 2024-12-24 04:01