爬虫日记1.1--爬虫步骤简述

网页爬取步骤

1.确定目标网站和数据

定义目标网站:选择需要爬取数据的网站,明确要获取的数据类型,例如文本、图片、视频等。
分析网页结构:使用浏览器的开发者工具(F12)检查网页的HTML结构,确定数据所在的标签和属性。

2. 准备环境

安装必要的库:常用的爬虫库包括requests、BeautifulSoup、Scrapy、Selenium等。

#法一:安装对应的模块,win+r,然后输入cmd打开命令提示框
输入
pip install 模块名

#法二:在pycharm对应的设置中添加

3.发送请求

构建请求:使用requests库向目标网站发送HTTP请求获取网页内容。

import requests
url_1 ='http://www.douban.com/'
r =requests.get(url)

处理反爬措施:如果网站有反爬虫机制,可以通过添加请求头、使用代理、或者模拟浏览器行为来绕过。

import requests
url_1 = 'http://www.douban.com/'
headers = { 'User-Agent':'Mozilla/5.0 (Macintosh; Intel ) AppleWebKit/537.39 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.39'}
kw = {'start':'0','filter':''}  #网页参数,百度搜索 '爬虫'
r = requests.get(url_1,headers = headers,params = kw)
#print(r.text)
#在输出结果中搜索 爬虫,若没有则说大概率明解析时用的编码和网页编码不一致,需手动设置编码格式,使其与浏览器一致。
#print(r.encoding) 可以查看返回结果的编码
r.encoding = 'utf-8'
print(r.text)

4. 解析网页内容

使用BeautifulSoup解析HTML:将获取到的HTML内容解析为可操作的树结构,方便数据提取。

soup = Beautifulsoup(r.text,'html.parser')

提取数据:根据之前分析的网页结构,使用BeautifulSoup的方法提取所需数据。

#使用attrs参数查找具有特定属性的标签
div_with_attr = soup.find('div', attrs={'id': 'main-content'})
print("具有id为main-content的div标签:", div_with_attr)

#使用class_参数查找带有特定类的标签
paragraphs_with_class = soup.find_all('p', class_='paragraph')
print("所有带有paragraph类的p标签:", paragraphs_with_class)

5.存储数据

存储到本地文件:将提取的数据存储为CSV、JSON或数据库。
存储到数据库:使用数据库如MySQL、MongoDB存储数据。

#以豆瓣电影TOP250为例,将返回字段添加到列表中,最后存储到EXCEL中。
movies = []
movies.append([name,score,number,review,link])
import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active
sheet.title ='电影TOP250'
for item in movies:
    sheet.append(item)
wb.save('movies.xlsx')
print('成功输出')

6. 处理动态内容(如有)

使用Selenium模拟浏览器操作:如果网页是通过JavaScript动态加载的,可以使用Selenium模拟浏览器进行操作和数据获取。

7. 自动化和定时运行

编写脚本自动化:使用Python脚本完成上述所有步骤,并添加异常处理。
使用定时任务:如需要定期获取数据,可以使用任务调度工具如cron(Linux)或任务计划程序(Windows)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值