代码如下:
#本代码是爬取豆瓣电影排行榜数据 #1、导入相应的库 import requests #导入爬虫的requests库 from bs4 import BeautifulSoup #从bs4包中导入爬虫解析库BeautifulSoup import re #导入正则表达式re模块 import pandas as pd #导入数据分析库并设置简称为pd #2、定义获取源代码的函数 def gethtml(): #定义获取源代码的函数gethtml,无参数 url="movie.douban/chart" #定义url为豆瓣电影网址 headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/69.0.3497.100 Safari/537.36"} #设置网页请求头headers response=requests.get(url,headers=headers) #对网站进行get请求,并伪装成浏览器进行请求 response.encoding=response.apparent_encoding #根据网页内容解析出编码格式并赋值给response.encoding html=response.text #将请求的相应信息赋值给html soup=BeautifulSoup(html,"html.parser") #将网页进行标准解析并赋值给soup content1=soup.findAll("a") #查找网页的a标签内容并赋值给content1 list1=[] #定义空列表1 list2=[] #定义空列表2 for info in content1: #遍历所有的a标签信息,并赋值给info print(info.get("href")) #打印a标签的href属性值,即网页链接 print(info.text) #打印a标签的text属性值,即a标签内部的内容 list1.append(info.get("href")) #将a标签的href属性值添加到列表list1 list2.append(re.sub(" ","",info.text)) #将a标签的内部内容添加到列表list2 dict1={"序号":range(1,len(list1) 1),"网址":list1,"标题":list2} #设置字典dict1的内容 df=pd.DataFrame(dict1) #将dict1的键值对转换为数据并赋值给df df.to_excel(r"C:\Users\Administrator\Desktop\电影.xlsx") #将df数据写入桌面的电影.xlsx文件 #3、调用函数gethtml if __name__ == '__main__': gethtml() #调用获取源代码的函数gethtml
代码运行结果如下:
accounts.douban/passport/login?source=movie
登录/注册
douban/doubanapp/app?channel=top-nav
下载豆瓣客户端
douban/doubanapp/app?channel=qipao
豆瓣 6.0 全新发布
javascript: void 0;
×
douban/doubanapp/redirect?channel=top-nav&direct_dl=1&download=iOS
iPhone
douban/doubanapp/redirect?channel=top-nav&direct_dl=1&download=Android
Android
douban
豆瓣
book.douban
读书
movie.douban
电影
music.douban
音乐
douban/location
豆瓣网站信息
代码和代码运行结果
爬取的网页超链接和标题数据存入桌面Excel
,