全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
2702 7
2017-10-30
悬赏 1800 个论坛币 已解决
求高手帮忙用python,最好别用scrapy,用request+lxml或其它爬取一个网站空气质量数据。https://www.aqistudy.cn/historydata/daydata.php?city=%E6%88%90%E9%83%BD&month=201709。
该网页只能用chrome打开,其它网站打不开,而且chrome打开源码中没有想要的数据,不知道怎么办。
程序写的好的话加我好友,我再给100元红包答谢,非常感谢。





最佳答案

gjinwei 查看完整内容

我大致贴个代码,具体的自己去完善吧(列名,城市循环、月份循环),数据我现在直接导出到excel中了,也可以直接入库,调df.to_sql就可以了,不过要加引擎(form sqlalchemy import create_engine engine=create_engine(url)) from selenium import webdriver import pandas as pd dr = webdriver.Chrome() dr.get('https://www.aqistudy.cn/historydata/daydata.php?city=%E6%88%90%E9%83%BD&month=201709') trs =[] for ...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-10-30 19:16:51
我大致贴个代码,具体的自己去完善吧(列名,城市循环、月份循环),数据我现在直接导出到excel中了,也可以直接入库,调df.to_sql就可以了,不过要加引擎(form sqlalchemy import create_engine engine=create_engine(url))
from selenium import webdriver
import pandas as pd
dr = webdriver.Chrome()

dr.get('https://www.aqistudy.cn/historydata/daydata.php?city=%E6%88%90%E9%83%BD&month=201709')

trs =[]
for tr in dr.find_elements_by_css_selector('tr')[1:]:
    tds=[]
    for td in tr.find_elements_by_css_selector('td'):
        tds.append(td.text)
    trs.append(tds)
df = pd.DataFrame(trs)
df.to_csv('201709_成都.csv')
附上效果
QQ截图20171031230619.png
QQ截图20171031230455.png
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-10-31 14:37:30
我看了一下,没搞出来,如果楼主搞出来的,跟我说说。说三种解决方案
1、用selenium
2、换网站
3、用itchat通过微信公众号调
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-11-1 11:52:17
gjinwei 发表于 2017-10-31 23:07
我大致贴个代码,具体的自己去完善吧(列名,城市循环、月份循环),数据我现在直接导出到excel中了,也可以 ...
厉害啊 学习了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-11-1 13:31:47
@gjinwei 的代码已经很好了,但是在爬大量网页时候应该用PhantomJS作为模拟浏览器。另外,我做了一点修改,能爬取多个城市多年的数据。楼主需要做的准备工作是配置好PhantomJS和selenium。

复制代码



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-11-1 16:00:30
用excel 2016中的数据查询,很方便搞定,只是一个网页要点几下
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群