小白之python开发:网站信息爬虫lxml
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了小白之python开发:网站信息爬虫lxml,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2524字,纯文字阅读大概需要4分钟。
内容图文
今天初学了使用lxml爬取网站信息,首先遇到的问题就是在cmd中install lxml一直报错,升级到最新版本还是下载不了,后来就去查询网络上的一些其他解决方法,发现很多人都是自己去网站:https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 里下载适合自己的python版本的lxml。
结果发现里面列出的lxml根本没有对应我的python3.8版本(由于本人刚开始使用时下载的python2.7,后来发现种种问题,就去下载了最新版本的python)结果就尴尬了,先尝试着下载3.7版本的lxml,然后本地安装时报出了安装版本错误的提示,此时发现必须要抛弃python3.8了,于是果断回官网下载了3.7版本,emmm,然后在一段时间的等待后才成功下载,然后又是一段流水线的配置以及安装,然后才开始正是编程:
1.首先是导入包
import requests
from lxml import etree
#这里创建了一个全局变量用来后面显示信息的数量
index = 1
2.然后开始请求网站,由于网站会有很多反爬虫机制,所以为了使我们能够正确的访问到网站中信息,于是在此处需要把我们的访问伪装成浏览器,只要在要访问的网页中点击F12,打开network然后重新载入网页一次,在network中的name项中随便找一项然后便可以在Header中找到user-agent,获取该编码便可以完成伪装,实现访问,然后可以再加一个判断是否访问成功,同理也是判断status_code是否返回200,如果返回3或者4开头的数字则说明访问失败
def get_requests(url):
#伪装成浏览器去访问
headers ={"user-Agent":"此处为网页中查找到的编码"}
html=requests.get(url,headers=headers)
#判断对比服务器的状态码
if html.status_code == 200:
return html.text
else:
return None
3.使用lxml获取网页的信息以及解析,首先加载数据解析使用lxml中的etree来解析网页信息,然后在使用xpath解析需要的数据项名称,此时需要打开网页源码然后找寻相应的具体需要爬的标签名
def get_content_page(text):
#加载解析数据
html=etree.HTML(text)
#解析数据名称
name=html.xpath('//p[@class="name"]//text()')
star=html.xpath('//p[@class="star"]//text()')
time=html.xpath('//p[@class="releasetime"]//text()')
4.保存解析下的数据,此处使用全局变量index来统计爬虫爬取下来的数据量,打开新的TXT文件,然后将爬取下来的数据写入该文档。
global index
with open("电影口碑榜前十.txt",'a+',encoding='utf_8')as file:
for item in range(10):
file.write("排名第%s的"%index+
"电影名称:\t"+name[item].strip()+
"\t"+star[item].strip()+
"\t"+time[item].strip()+"\n"
)
print("排名第%s的"%index+
"电影名称:\t"+name[item].strip()+
"\t"+star[item].strip()+
"\t"+time[item].strip()+"\n"
)
index+=1
5.程序入口(写法有问题),此处遇到问题,原本的写法一直报错,后来删掉第一行才运行起来
删掉的第一行:
if _nam_ == '_maim_':
删除后的代码:
with open("电影口碑榜前十.txt",'w',encoding='utf_8')as file:
file.write("今日猫眼电影网中的前十电影资讯:"+"\n")
#请求网址
url="https://maoyan.com/board"
html = get_requests(url)
get_content_page(html)
内容总结
以上是互联网集市为您收集整理的小白之python开发:网站信息爬虫lxml全部内容,希望文章能够帮你解决小白之python开发:网站信息爬虫lxml所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。