记录一下学习爬虫的代码案例
代码出处 https://www.bilibili.com/video/BV1i54y1h75W?p=24
import requests
import re
import csv
url = "https://movie.douban.com/top250"
headers = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36"
}
resp = requests.get(url,headers = headers)
page_content = resp.text
obj = re.compile(r'<li>.*?<div class="item">.*?<span class="title">(?P<name>.*?)</span>.*?<p class="">.*?<br>(?P<year>.*?) .*?<span class="rating_num" property="v:average">(?P<score>.*?)</span>.*?<span>(?P<num>.*?)人评价</span>',re.S)
result = obj.finditer(page_content)
f = open("data.csv",mode="w")
csvwriter = csv.writer(f)
for it in result:
dic = it.groupdict()
dic['year'] = dic['year'].strip()
csvwriter.writerow(dic.values())
f.close()
print("over!")
结果图如下
另:这里注释一下headers头不是死记硬背背下来的,那么我们该怎么获取?
首先,我们随便找一个网站,这里我就挑了个百度宠物的图片的页面
我们点击右键进入检查模式,它会自动跳转到Element页面,如图所示
但是我们要找的headers头信息不在Element页面,我们跳转到Network页面,如图
这里因为我为了做示范查看图片,左边的Name就是浏览器给我反馈的浏览记录。
我们随便点击一个浏览记录,右边就会弹出一个小页面,这就是我们要找的headers头要的信息
我们直接粘贴复制进去pycharm就可以了。以后爬取网站的时候也很方便!
注意,有些高大上的网站会有反爬虫技术,headers头部信息会被捕捉到,你的IP地址信息会被网站列为黑名单
禁止你再次使用爬虫进行爬取网站信息
|