采集某知名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