大三寒假第二篇学习记录

今天学了爬虫,实现了一些爬虫案例,如从猫眼电影网址中爬取Top100的电影数据,最受期待的电影等。

爬虫三部曲:

第一步:获取网页数据(响应)

1 def reptile(url):
2     try:
3         response = requests.get(url,headers=headers)
4         if response.status_code == 200:
5             return response.text
6         else:
7             print("获取网页失败")
8     except Exception as e:
9         print(e)

第二步:去响应数据的中所需的数据

 1 def get_info(page):
 2     items = re.findall('<dd>.*?<i class="board-index board-index-.*?">(.*?)</i>.*?<p class="name"><a.*?>(.*?)</a>.*?<p class="star">主演:(.*?)</p>'+
 3                        '<p class="releasetime">上映时间:(.*?)<.*?</dd>',page,re.S)
 4     # print(items)
 5     print(len(items))
 6     for item in items:
 7         data = {}
 8         data["电影排名"] = item[0]
 9         # print(item[0])
10         data["电影名称"] = item[1]
11         data["主演"] = item[2]
12         data["上映时间"] = item[3]
13         # data["本月想看新增人数"] = item[4]
14         yield data

第三步:生成xls文件

 1     f = xlwt.Workbook(encoding='utf-8')
 2     sheet01 = f.add_sheet(u'sheet1', cell_overwrite_ok=True)
 3     sheet01.write(0, 0, '电影排名')  # 第一行第一列
 4     sheet01.write(0, 1, '电影名称')
 5     sheet01.write(0, 2, '主演')
 6     sheet01.write(0, 3, '上映时间')
 7     # sheet01.write(0, 4, 'score')
 8     # 写内容
 9     for i in range(len(Data)):
10         sheet01.write(i + 1, 0, Data[i]['电影排名'])
11         sheet01.write(i + 1, 1, Data[i]['电影名称'])
12         sheet01.write(i + 1, 2, Data[i]['主演'])
13         sheet01.write(i + 1, 3, Data[i]['上映时间'])
14         # sheet01.write(i + 1, 4, Data[i]['score'])
15         print('p', end='')
16     f.save('D:\\爬虫数据\\猫眼电影最期待.xls')

学习博客:https://blog.csdn.net/weixin_41779359/article/details/86374812

猜你喜欢

转载自www.cnblogs.com/goubb/p/12203496.html