欢迎使用CSDN-markdown编辑器
来源:互联网 发布:做网络销售怎么样 编辑:程序博客网 时间:2024/06/05 12:08
初窥爬虫(python)
这两天整理初学Python时的爬虫,一个简单的例子引导入门:
爬取省份城市及气温
大体思路:
1.获取网页内容
代码块
from bs4 import BeautifulSoupimport requestsimport timedef get_temperature(url): header = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) \ Chrome/60.0.3112.113 Safari/537.36', 'Upgrade-Insecure-Requests':'1', # 'Referer':'http://www.weather.com.cn/textFC/hb.shtml', 'Host':'www.weather.com.cn' } # html = "http://www.weather.com.cn/textFC/hb.shtml" req = requests.get(url,headers=header) req = req.encode('gbk','ignore') print (req.content)
2.解析数据
# 获取页面 content = req.content soup = BeautifulSoup(content,'lxml')# 获取省份 conMid_tab = soup.find('div',class_='conMidtab') conMid_list = conMid_tab.find_all('div',class_='conMidtab2') for x in conMid_list: tr_list = x.find_all('tr')[2:] # print(tr_list) # 获取城市 for index,tr in enumerate(tr_list): if index == 0: # 如果是第0个tr标签,那么城市和省份名是放在一起的 td_list = tr.find_all('td') province = td_list[0].text.replace('\n',' ') # 省份 city = td_list[1].text.replace('\n',' ') # 城市 minW = td_list[7].text.replace('\n',' ') # 最低气温 else: # 如果不是第0个tr标签,那么在这个tr标签中只存放城市名 td_list = tr.find_all('td') city = td_list[0].text.replace('\n',' ') # replace('\n',' ')删除换行 minW = td_list[6].text.replace('\n',' ') # 最低气温 print('%s|%s' % (province+city, minW))
3.数据分析
ps:需要用到的库
**做网页分析的 bs4**pip install bs4**解析网页**pip install lxml**用来做网络请求的**pip install requests
阅读全文
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 为什么使用mq?
- 在OpenCV环境下做导向滤波的代码
- 独热编码 OneHotEncoder()
- Java
- Mybaities 批量操作数据库报错,抛MySQLSyntaxErrorException异常
- 欢迎使用CSDN-markdown编辑器
- Leetcode35.Search Insert Position
- Java中Arrays工具类的用法
- Util工具类 获取指定月份的天数以及最后一天的日期
- Spring Boot干货——(七)Spring Boot整合Spring Data JPA
- 浅析java内存模型--JMM(Java Memory Model)
- 第2章 控制器 第3章 视图(强类型视图,视图模型、Razor 视图引擎、布局、Html.Partial与Html.Action)
- Node.js中exports和module.exports的联系和区别
- 面试Java需要的知识总结(具体见地址)