【悬赏】微博签到坐标经纬度爬取
需要2019年新浪微博某景区签到的信息,包括:经纬度坐标+时间+文字内容
可能直接抓取网页抓不到,要通过微博API好像
时间当然越快越好
示例网页:
网址1:
https://m.weibo.cn/p/index?containerid=2306570042B209465CD66DA4F4499D&luicode=10000011&lfid=2306570042B209465CD66DA4F4499D
网址2:
https://weibo.com/p/100101B209465CD66DA4F4499D
(网址2只有23页,如果网址1爬不到就只能用网址2)
攻略推荐:
攻略1:
https://blog.****.net/xiangyong58/article/details/51506958
攻略2:
https://blog.****.net/freeking101/article/details/81450624?from=singlemessage&isappinstalled=0
攻略3:
https://github.com/RealIvyWong/WeiboCrawler/tree/master/WeiboLocationCrawler
分割线********
微博签到页爬虫
项目链接:https://github.com/RealIvyWong/WeiboCrawler/tree/master/WeiboLocationCrawler
1 实现功能
这个项目是用来爬取微博签到页的微博数据(每三个小时爬一次),并写进 sqlite 数据库。
关于微博签到页打个比方,就是类似这个https://weibo.com/p/100101B2094757D069A7FE449F
顺便一说,这个页面是不用微博登录就可以访问的。所以方便很多啊(不用模拟登录)。
2 依赖环境
使用的是Python 3.7(在云上用过3.5也完全ok)。
需要额外的第三方库有yagmail(用来发送邮件),pandas,bs4。均可使用pip来安装。
pip install yagmail pandas bs4
3 使用方法
step1. 修改pid.csv中的地点名词与对应的id。
step2. 修改start.py中的邮箱账号密码。
step3. Run start.py。
4 文件说明
包含四个文件。
pid.csv
是放置地点的名称和微博页面对应的位置 id。比如说上面的珞珈山,就是网页 URL 最后的那一串数字100101B2094757D069A7FE449F。
buildip.py
是在网上看到别人写的……具体忘了哪的,如果本尊看到!sorry!请联系我注明!
我稍微修改了下。这个文件是一个实现爬取代理网站上的代理 IP 来构建代理池的模块。
crawler.py
爬虫本体。
start.py
控制爬取多个地点的一个启动文件。
5 爬取示例
如果开始成功运行之后,控制台输出大概是这样的。先获取代理 ip(这可能需要 10 分钟左右?)。
1545037686110
然后获取完代理就一个一个地点开始爬,像这样。
1545037751972
这个页数是由那个签到点的微博数定的,如果很冷门,可能就十几页甚至几页。当然,最多新浪只会让我们爬 150 页,所以不是这个签到点的所有数据都能爬到。
得到的weibo.sqlite结构是包含三个表,weibo表(用来存储微博具体的信息)、pic表(用来存储微博图片的 url,因为一条微博可能有多张图)和picweibo表(建立 pic 的 id 和 weibo 的 id 的联系的表)。