如何利用lxml库和requests库写python爬虫代码,xpath例子、etree.html、User-Agent的获取,反爬虫

(此文章是记录本人对知识理解的随手笔记,内容不肯定百分百正确,如有错误望指出并谅解)

本文章主要讲如何利用lxml库和requests库写python爬虫代码

1、先看一遍代码(记得看注释

#导入需要的库
import requests
from lxml import etree

#设置需要访问的URL地址
url='https://blog.csdn.net/m0_51756263/article/details/125700087'

#设置头部中的键值对
headers={
#一般网站的服务器会通过查询User-Agent这个键值对来识别是不是爬虫,所以我们可以更改User-Agent这个键值对的值来仿造是真人在浏览网站,我在代码中用的值是windows服务器下chrome的值
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763'
}

#对网站发送get请求
spider_requests=requests.get(url=url,headers=headers)

#用spider_requests.text获取字符串格式的网页,用etree.HTML()可以将字符串格式的网页转换成_Element对象
html= etree.HTML(spider_requests.text)

#根据xpath语法取出所要查询的值
string_xpath='''//div/h1[@class='title-article']/text()'''
response=html.xpath(string_xpath)

#打印返回值
print(response)

在下图中我会讲解怎么拿取自己现在所用的浏览器的User-Agent的值,因为不同操作系统中的不同浏览器中的不同版本的User-Agent值不一样,比如mac下的火狐浏览器的和mac下的ie浏览器windows下的狐火浏览器的User-Agent值不一样
User-Agent的值可以通过浏览器的F12键调出开发者工具来查看,如下图所示,点击网络,然后ctrl+R刷新一下网页,然后把滚动条拉到最上面,找到一个类型为document,大小为几十KB的文件,单击一下这个文件就会出现如下下图的页面。




然后在标头中找到User-Agent键值对,通过User-Agent后面的值可以看到我所用的操作系统为windows,用的浏览器为Chorme浏览器,浏览器的版本号103.0.1264.49


如下图我们可以更改string_xpath的值来更改xpath语法来得到我们想在网页中获取的文本

 如下图,我们想获取图中的一段文字“sql注入中的union联合查询,union select 1,2,3

则将string_xpath的值改为  //div/h1[@class='title-article']/text()
意思是查询所有div元素下有h1元素的,且h1元素中有class属性,且class属性title-article ,然后获取文本,下图可以看到运行完python程序后获取到的结果

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值