说来惭愧,笔者在看完这一章,一个月后才动手写的这篇文章,笔者一直认为 “好记性不如烂笔头” 写点文章,可以帮助正在路上学习的人,和能够自己更好地和网上的同伴交流下面是详细的过程 具体要求:爬取电影名称,详细描述,电影评分。
爬取的网站地址:https://ssr1.scrape.center/函数的功能实现1、def get_page() :多次循环构造urls列表 实现翻页的功能2、获取网页源代码,pyquery提取关键的信息 保存在 txt文件中、
3、if __name__==__main__ 去调用函数import requests from pyquery import PyQuery as pqdefget_page(): urls =[
"https://ssr1.scrape.center/page/{}".format(str(i)) for i in range(1,11)] return urlsdefget_content
():try: headers = { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36
} html= requests.get(url,headers=headers).text doc =pq(html)#字符串的初始化,得到了网页的源代码
#print(doc)#item_list = doc(.el-card__body).items() #选择网页代码中的所有 .el-card__body 节点for item in doc(.el-card__body
).items(): #print(item)with open(movie.txt,a,encoding=utf-8) as file: name =item.find(
h2.m-b-sm).text() plot =item.find(span).text() star =item.find(p.score.m-t-md.m-b-n-sm
).text() print(name,plot,star) file.write(f名称,详细描述:评分:{name},{plot}
:{star}\n) except: print(error) if __name__ ==__main__: get_page() for url in get_page():
get_content()具体讲解一下提取关键信息的代码实现方法doc(.el-card__body) :实现将网页中的 这个class 为.el-card__body里面全部提取出来然后构建for 循环 和将关键信息(name,plot,star)全部输出出来,选取他们各自所在的节点
结果如下:
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。