Python,网络爬虫selenium与pyautogui抓取新浪微博用户数据

不需要登陆新浪微博账户,直接运行就可以通过python爬虫爬取新浪微博用户数据。本例selenium与pyautogui结合,爬取十大城市的地铁(轨道交通)官方微博的粉丝数量。最终把数据存入excel和csv文件。

python代码:

import re
import time
import pandas as pd
from tqdm import tqdm
import pyautogui
from selenium import webdriverdef get_city_data(city):url = f'https://weibo.com/{city[1]}'chromepath = r'D:\program\chromedriver_win32\chromedriver.exe'driver = webdriver.Chrome(executable_path=chromepath)driver.get(url)time.sleep(15)file_path = r'd:\web\{city}_{file_time}.html'.format(city=city[1],file_time=time.strftime('%Y%m%d%H%M', time.localtime()))pyautogui.hotkey('ctrl', 's')time.sleep(1)pyautogui.hotkey('delete')time.sleep(1)pyautogui.typewrite(file_path)time.sleep(1)pyautogui.hotkey('enter')time.sleep(1)pyautogui.hotkey('ctrl', 'enter')time.sleep(15)f = open(file=file_path, mode='r', encoding='utf-8')content = str(f.read())fan_num_pattern = re.compile(r'粉丝\((.*?)\)', re.S)fan_num = re.search(fan_num_pattern, content)num = fan_num.groups()[0]driver.close()driver.quit()return city[0], int(num), time.strftime('%Y-%m-%d %H:%M', time.localtime())def main():city = [('北京', 'bjsubway'),('上海', 'shmetro'),('广州', 'gzmtr'),('深圳', 'szmcservice'),('成都', '2384889627'),('西安', 'xianditie'),('武汉', '3186945861'),('重庆', '2152519810'),('杭州', 'hangzhouditie'),('南京', '2638276292'),('天津', 'tjdtjt'),]city_data = []pbar = tqdm(total=len(city), leave=True)for c in city:result = get_city_data(c)print(result)city_data.append(list(result))pbar.update(1)col = ['城市', '粉丝数量', '统计时间']df = pd.DataFrame(data=city_data, columns=col)df = df.sort_values(by=col[1], axis=0, ascending=False)  # 降序# 排序后重置index,# 否则索引是混乱的df = df.reset_index(drop=True)# 因为默认的pandas起始索引从0开始,# 为了使数据行的初始索引(起始索引index)从1开始df.index = df.index + 1print(df.head(10))df.to_excel('city.xls', encoding='utf-8')df.to_csv('city.csv', encoding='utf-8')if __name__ == '__main__':main()

生成的excel表数据输出:

Python,网络爬虫selenium与pyautogui抓取新浪微博用户数据相关推荐

  1. iOS开发——网络使用技术OC篇网络爬虫-使用正则表达式抓取网络数据

    网络爬虫-使用正则表达式抓取网络数据 关于网络数据抓取不仅仅在iOS开发中有,其他开发中也有,也叫网络爬虫,大致分为两种方式实现 1:正则表达 2:利用其他语言的工具包:java/Python 先来看 ...

  2. Python网络爬虫Selenium页面等待:强制等待、隐式等待和显式等待

    关于Python网络爬虫Selenium强制等待.隐式等待和显式等待的总结 from selenium import webdriver import time from selenium.webdr ...

  3. Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过浏览器审查元素解析真实网页地址...

    由于主流网站都使用JavaScript展示网页内容,和前面简单抓取静态网页不同的是,在使用JavaScript时,很多内容并不会出现在HTML源代码中,而是在HTML源码位置放上一段JavaScrip ...

  4. Python开源爬虫项目代码:抓取淘宝、京东、QQ、知网数据--转

    数据来源:数据挖掘入门与实战  公众号: datadw scrapy_jingdong[9]- 京东爬虫.基于scrapy的京东网站爬虫,保存格式为csv.[9]: https://github.co ...

  5. python爬虫批量抓取新浪微博用户ID及用户信息、微博内容

    老师给的任务,要对批量的微博文本进行舆情分析.第一步就是数据的抓取.在网上搜了一下大多是基于手机版网页(wap/cn)的爬虫,但是我在电脑上打不开这些网站. 由于自己也是网页小白,所以就参考着别人的代 ...

  6. Python爬虫+夜神模拟器+Fiddler抓取手机APP数据接口 -- 图文教程(霸霸看了都说好)

    Fiddler的抓包原理 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改. 代理就是 ...

  7. Python 网络爬虫实战:猫眼电影 38950 条评论数据告诉你《无名之辈》是否值得一看?

    11月16日,一部无流量明星.无大制作.无大IP的"三无"国产电影<无名之辈>上映后,竟然连续打败了超级英雄"毒液".会魔法的"神奇动物& ...

  8. Python网络爬虫requests、bs4爬取空姐图片,福利哦

    Scrapy框架很好,也提供了很多扩展点,可以自己编写中间件处理Scrapy的Request和Response.但是可定制化或者可掌控性来说,还是自己写的爬虫更加强一些. 接下来,我们来看一下使用Py ...

  9. Python网络爬虫:利用正则表达式爬取豆瓣电影top250排行前10页电影信息

    在学习了几个常用的爬取包方法后,转入爬取实战. 爬取豆瓣电影早已是练习爬取的常用方式了,网上各种代码也已经很多了,我可能现在还在做这个都太土了,不过没事,毕竟我也才刚入门-- 这次我还是利用正则表达式 ...

最新文章

  1. Open3D面向机器学习的扩展库
  2. HDU 6051 - If the starlight never fade | 2017 Multi-University Training Contest 2
  3. 西南大学网络教育计算机辅助设计,2017年秋西南大学继续教育9123《计算机辅助设计》.docx...
  4. 按树型显示BOM的结构
  5. 操作系统(科普章节)
  6. 2019潜江职称计算机考试,2019湖北事业单位联考潜江地区笔试成绩分析
  7. 手把手教你安装VMware虚拟机
  8. python中怎么写注释_Python中注释的写法
  9. 软件构造学习笔记-第九周、第十周
  10. R语言基础篇-----画图
  11. Oracle出现 The Network Adapter could not establish the connection
  12. 2-设置文件类型扩展名
  13. Excel 2007中,列标1234 修改为 ABCD
  14. kotlin-2(IdeaIU-2018.2汉化破解)
  15. 杨校老师项目之基于SSM企业物流快递配送管理系统
  16. Android使用Zxing库生成PDF417扫描后多一个字符A
  17. 基于Hadoop 的分布式网络爬虫技术学习笔记
  18. 洛谷——AT1350 深さ優先探索
  19. 笔记本电脑在拔插电源时屏幕会黑一下,然后马上恢复正常
  20. JavaScript execCommand函数

热门文章

  1. 第十九周 银行系统(链表、二进制、业务明细)
  2. T-BOX 车载网联终端设计
  3. Linux编程定时执行某函数
  4. 【Django | 开发】权限划分(行为数据集)集成钉钉消息(案例:面试招聘信息网站)
  5. 网件公司M4100-D12G三层交换机,部分配置说明(2)
  6. IDEA报错:Error: java: 错误:不支持发行版本5
  7. 基于java的教学网站设计与实现(含源文件)
  8. 投资时如何更好地「抄作业」?
  9. OpenVINO 2021r4.1 - 瞎搞YOLOV5 模型转换,INT8量化及C++推理实现
  10. Mind,Diagram,Design