嗨害大家好鸭~我是小熊猫?
女友好不容易放假,她带着我花花花的样子真的很迷人~
不为什么 我的女友我来宠!
作为一个程序员,要有会用自己的技术创造价值的自觉~
今天来给大家展示一下用python采集一下外包网站~
这可是财富道路的第一步啊~
环境使用:
模块使用:
- requests >>> pip install requests
- parsel >>> pip install parsel
- csv
模块安装问题:
- win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
- 在pycharm中点击Terminal(终端) 输入安装命令
安装失败原因: 失败一: pip 不是内部命令
解决方法: 设置环境变量
失败二: 出现大量报红 (read time out)
解决方法: 因为是网络链接超时, 需要切换镜像源
清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 华中理工大学:http://pypi.hustunique.com/ 山东理工大学:http://pypi.sdutlinux.org/ 豆瓣:http://pypi.douban.com/simple/ 例如:pip3 install -i https://pypi.doubanio.com/simple/ 模块名
失败三: cmd里面显示已经安装过了, 或者安装成功了, 但是在pycharm里面还是无法导入
解决方法: 可能安装了多个python版本 (anaconda 或者 python 安装一个即可) 卸载一个就好或者你pycharm里面python解释器没有设置好
如何实现一个爬虫案例?
一. 去分析数据是什么样? 分析数据来源?
通过开发者工具进行抓包分析, 分析数据从哪里的
二. 代码实现步骤:
- 发送请求, 对于找到url地址发送请求
- 获取数据, 获取服务器返回数据
- 解析数据, 提取我们想要数据内容
- 保存数据, 保存csv表格里面
- 多页数据采集: 分析请求的url变化规律
代码
导入模块
import requests
import parsel
import csv
完整
f = open('data.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
'标题',
'招标',
'浏览人数',
'竞标人数',
'招标状态',
'价格',
'详情页',
])
csv_writer.writeheader()
for page in range(1, 11):
print(f'正在爬取第{page}页的数据内容')
url = f'https://task.epwk.com/page{page}.html'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
selectors = parsel.Selector(response.text)
divs = selectors.css('.itemblock')
for div in divs:
title = div.css('div.title a::attr(title)').get()
modelName = div.css('div.modelName::text').get().strip()
num = div.css('div.browser div:nth-child(2) span::text').get().strip()
num_1 = div.css('div.browser div:nth-child(3) span::text').get().strip()
status = div.css('span.status::text').get().strip()
price = div.css('span.price::text').get().strip()
href = div.css('div.title a::attr(href)').get()
dit = {
'标题': title,
'招标': modelName,
'浏览人数': num,
'竞标人数': num_1,
'招标状态': status,
'价格': price,
'详情页': href,
}
csv_writer.writerow(dit)
print(title, modelName, num, num_1, status, price, href)
视频教程【有缘就能看 没缘就算辽】
https://www.bilibili.com/video/BV1vS4y1v7Fu/?spm_id_from=333.999.0.0
希望大家都可以赚小钱钱~
文章到这里就结束啦~
我是小熊猫,咱下篇文章再见啦(????)
|