本代码演示去电影网址上抓取电影网址和电影名称的数据,并保存到本机到excel表格中
操作步骤如下:
一、去百度上搜索查询要爬去的电影网址:
搜索到的电影网址为:http://dianying.2345.com/list/guzhuang------.html,即我们今天要通过python进行get请求的网址
二、开始测试爬取网址:
1、在360极速浏览器输入网址:http://dianying.2345.com/list/guzhuang------.html。
2、按F12查看网址的源代码。
3、按住F5加载网页源代码。
4、找到左下角的Network,点击↖箭头,选择对应的电影,如下图所示:
相当于已经得出了如下结论:
所有的电影网址,标题信息都在标签里。
三、去pycharm里编写源代码
1、同时按alt+insert键,新建一个使用find_all匹配电影信息.py的文件。
2、根据以下3个步骤开始编写爬取网页源代码的代码:
①导入相应的库
②定义函数对网页进行get请求,并解析网址,并保存数据到excel中
③调用函数
代码示例如下:
#1、导入相应的库import re,requests,random,os #导入正则,网页请求,随机,系统库from bs4 import BeautifulSoup #从bs4中导入网页源代码解析库import pandas as pd #导入pandas库,并设置为pd#2、定义函数对网页进行get请求def gethtml(): url="http://dianying.2345.com/list/guzhuang------.html" 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 agent = random.choice(list1) # 请求头的值agent从列表list1里随机选择一个 try: response = requests.get(url, headers=agent) # 伪装浏览器对网站进行get请求,并将请求结果赋值给response response.encoding = response.apparent_encoding # 根据内容解析出网页的编码格式并赋值给response.encoding html = response.text # 将网页的源代码赋值给html soup=BeautifulSoup(html,"html.parser") #使用html.parser解析器对网页源代码进行解析,并将解析结果赋值给soup info = soup.find_all("em