xpath库可以非常方便的读取HTML源代码的标签信息本代码示例读取电影的源代码信息代码如下:#1、导入相应的库 import requests from lxml import etree #导入解析库lxml.专门用来解析xml数据 import lxml import random #2、定义函数为获取网页源代码 def gethtml(page): #定义读取网页源代码的函数gethtml.page参数是页码 if page==1: url="http://www.dygang.com/dsj/" else: url="http://www.dygang.com/dsj/index_"+str(2)+".htm" agent1 = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36"} # 设定请求头的值agent1 agent2 = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"} # 设定请求头的值agent2 agent3 = { "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36"} # 设定请求头的值agent3 list1 = [agent1, agent2, agent3] # 设置3个请求头组成的列表,并赋值给列表list1 headers=random.choice(list1) try: response = requests.get(url, headers=headers) # 伪装浏览器对网站进行get请求,并将请求结果赋值给response response.encoding = response.apparent_encoding # 根据内容解析出网页的编码格式并赋值给response.encoding html = response.text # 将网页的源代码赋值给html res_xpath = etree.HTML(html) #下面是将网页变成xpath结构 print("解析的网页对象res_xpath:",res_xpath) result1=res_xpath.xpath("/html/head/title") #对网页的头部标题对象进行解析,并赋值给result1 result2=res_xpath.xpath("/html/head/title/text()") #对网页的头部标题对象的信息进行解析,并赋值给result2 print("解析的title对象:",result1) #打印解析的标题对象 print("标题内容:",result2) #打印解析的标题内容 result3=res_xpath.xpath(/html/body/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td/a/text()) #对页码信息进行解析,并赋值给result3 print("电影页码信息:",result3) #打印电影的页码信息 except: #当接收错误时 print("第{}页爬取失败".format(page)) #打印第多少页爬取失败 if __name__ == __main__: gethtml(2) #调用读取第二页的网页源代码
代码运行结果如下:解析的网页对象res_xpath: 解析的title对象: []
标题内容: [国剧_电影港]电影信息: [\xa0, , 首页, 上一页, 1, 3, 4, 5, 6, 7, 8, 9, 10, 下一页, 尾页]图片示例如下:
电影网站
pycharm代码和代码运行结果
亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。