python xpath无法解析网站??

qq_39700924 2017-08-26 09:20:22
刚学习爬虫,遇到问题,请高手帮忙!
下面for循环中的html变量调用geturl自定义函数时,links无法解析出内容,结果为空。
但html使用注释中的语句时,links能得出结果,为何会这样的?这两种方式基本过程不是一样的吗?

# -*- coding:utf-8 -*-
import urllib
import urllib.request
import urllib.error
from lxml import etree


#多次与目标网站链接
def geturl(url):
user_agent='Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.3373.400 QQBrowser/9.6.11866.400'
headers={'User-Agent':user_agent}
maxtry=3
for n in range(maxtry):
try:
url2=urllib.request.Request(url,headers=headers)
image1=urllib.request.urlopen(url2,timeout=5).read()
break
except:
if n<(maxtry-1):
continue
else:
print("Has tried %d times to access url %s,all failed!" %(maxtry,url))
break
return image1

for j in range(2):
url='https://tieba.baidu.com/f?kw=%E7%BE%8E%E5%A5%B3&ie=utf-8&pn='+str(j)
html=geturl(url)
#html=urllib.request.urlopen(url).read()
selector=etree.HTML(html)
links=selector.xpath('//div/a[@class ="j_th_tit "]/@href')
print(links)


...全文
421 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39700924 2017-08-28
  • 打赏
  • 举报
回复 1
本人刚学习,不知你说的哪个关键字,因为上面的def结构我是根据网上的例子修改的,关键内容没变,会有这样的结果就头晕了。 另外个人发现只要把headers去掉就没问题了,这就更晕了,headers不就是用户信息吗,这会影响网页的解析???
赵4老师 2017-08-27
  • 打赏
  • 举报
回复
百度搜相关关键字。

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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