#导入所需第三方库import requestsfrom lxml import etree#构造请求头,模拟真人访问,如果不加,会直接以爬虫身份访问,可能获取不到内容。(不懂的话,直接复制使用就可以)headers = {'User-Agent':'Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
1.1.以从浏览器搜索列表获取URL为例1.1.1.用谷歌浏览器搜索百度,从d出的页面解析百度搜索的网址。url=“https://www.baIDu.com/s?IE=UTF-8&wd=%E7%99%BE%E5%BA%A6”
该url对应的链接如图,即用谷歌浏览器搜索百度d出的页面,目标就是获取该页内容。
#利用get方法获取内容,提取text内容(text可以理解为文本内容),结果保存在content中。content = requests.get(url, headers=headers).text
2.用xpath进行解析2.1. etree结构化处理因为用text获取到的内容为str格式,简单理解就是类似txt格式文件,没有清晰的结构,不方便定位特定的内容。(当然这种格式可以直接用正则表达式获取内容,就像搜索功能一样,这里不多赘述)
@H_502_14@#将构造好的内容保存在a中a=etree.HTML(content)
2.2.获取xpath地址在谷歌浏览器右击,选择检查在d出的界面点击左上角的小箭头,让箭头变蓝点击第一条,”百度一下,你就知道“,在检查界面找到链接url,即为所需链接。
在所需内容上右键——copy——copy xpath,即复制到了所需的内容的xpath地址。
#注意,复制到的xpath只有//*[@ID="1"]/h3/a[1],但是这是整个a标签的内容,注意到网址是在href属性里的,因此,用@href提取内容。detail_url=a.xpath('//*[@ID="1"]/h3/a[1]/@href')
注意,获取到的内容为一个列表,如需使用需提取。
完整代码@H_502_14@import requestsfrom lxml import etreeurl="https://www.baIDu.com/s?IE=UTF-8&wd=%E7%99%BE%E5%BA%A6"headers = {'User-Agent':'Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}content = requests.get(url, headers=headers).texta=etree.HTML(content) detail_url=a.xpath('//*[@ID="1"]/h3/a[1]/@href')print(detail_url[0])
总结 以上是内存溢出为你收集整理的PYTHON爬虫入门——Xpath全部内容,希望文章能够帮你解决PYTHON爬虫入门——Xpath所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)