python怎么写爬虫脚本_Python爬虫脚本

#!C:\Users\12550\AppData\Local\Programs\Python\Python37\python.exe

# -*- coding: utf-8 -*-

from urllib.request import urlopen

from bs4 import BeautifulSoup

import pymysql

import urllib.request

import re

from urllib.error import URLError, HTTPError

conn = pymysql.connect(host='127.0.0.1', user='root', passwd='root', db='test', charset='utf8')

db = conn.cursor()

curr_url = ''

# 请求网页

def get_html(url):

global curr_url

user_agent = 'Mozilla/6.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.6796.99 Safari/537.36'

response = urllib.request.Request(url)

response.add_header('User-Agent', user_agent)

response = urllib.request.urlopen(response)

html = BeautifulSoup(response.read(), "html.parser", from_encoding='gbk')

return html

def get_list(url, level=1, pid=0, get_level=2):

data = [];

level_arr = {'1': 'provincetr', '2': 'citytr', '3': 'countytr', '4': 'towntr', '5': 'villagetr'}

try:

print(url)

html = get_html(url)

c_url = url

tr_list = html.findAll('tr', {'class': level_arr[str(level)]})

for tr in tr_list:

region_name, href, page = '', '', ''

td_list = tr.findAll('td')

for td in td_list:

region_name = td.get_text();

# 判断是否存在该省份

if (level == 1):

sql = "select * from region where region_name='" + region_name + "'"

db.execute(sql)

exist = db.fetchone()

if(exist):

continue

# 判断是否全数字-非法则跳过

if (region_name.isdigit()):

continue

if (region_name):

sql = "insert into region(region_name,pid,level,url) value('" + region_name + "','" + str(

pid) + "','" + str(level) + "','" + url + "')"

db.execute(sql)

db.execute('SELECT LAST_INSERT_ID();')

last_id = db.fetchone()[0]

if (td.a):

page = td.a.attrs['href']

pattern = re.compile(r'\w*.html')

url = re.sub(pattern, page, c_url)

if (level <= get_level):

get_list(url, level + 1, last_id)

# 每个省份执行完成,则提交

if (level == 1):

conn.commit()

return data;

except HTTPError as e:

# 如果有出错,则回滚

conn.rollback()

print(e) # HTTP Error 502: Proxy Error

url = 'http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2017/index.html'

get_list(url)

print('执行完成')

---------------------

作者:只是个宝宝

来源:优快云

原文:https://blog.youkuaiyun.com/qq_27974479/article/details/85634360

版权声明:本文为博主原创文章,转载请附上博文链接!

1.为什么要学习MATLAB 学习MATLAB 阅读详情

相关推荐

Zephyr RTOS线程间通讯实战:消息队列与信号量的5个经典应用场景

本文深入探讨了Zephyr RTOS中线程间通讯的核心机制,通过消息队列与信号量的组合,详细解析了传感器数据处理流水线、命令分发系统、日志记录、资源池管理以及周期性任务协同调度等5个经典应用场景。这些实战模式为构建高效、稳定且可维护的嵌入式多线程系统提供了清晰的设计蓝图和代码范例。

tomato的博客 92

【爬虫】Python爬虫教程(上篇)

本篇文章面向新手,赘述部分较多网络爬虫(又称为网页蜘蛛,网络机器人,在社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、或者蠕虫。

在岗Golang后端开发,分享一些日常笔记和代码 2460

Cisco思科 电子科技大学计算机网络 SRWE 期末技能考试 (PTSA)

电子科技大学2024春_SRWE_计算机网络系统 SRWE 期末技能考试 (PTSA)

2301_76745065的博客 5091

简单的python脚本-爬虫

前面我们学习了一些python的简单知识之后,就可以开始学习写一些简单的python脚本来进行爬虫获取一些数据了。首先我们要先导入requests库,file->other settings->preferences for new projects,然后就是去导入requests库:如下: 导入成功之后会有成功的提示, 然后我们点击应用,ok,这时候我们就可以进行爬虫...

YHyanghaoaixin的博客 3264

CPU性能优化实战:寄存器重命名如何解决指令冲突(附3种实现方案对比)

本文深入解析了CPU性能优化中的关键技术——寄存器重命名,详细阐述了其如何通过物理寄存器堆(PRF)和重命名映射表(RAT)解决WAW、WAR、RAW等指令冲突,从而释放超标量处理器的并行潜力。文章重点对比了基于ROB、ARF扩展和统一PRF三种主流实现方案的设计权衡、电路代价与功耗影响,并探讨了现代处理器中并行重命名与状态恢复的实战机制。

weixin_29252171的博客 265

基于 Qt C++ 的智能工厂数字孪生系统

你想要实现一个基于 Qt C++ 的智能工厂数字孪生系统,核心是 **Qt 3D** 场景搭建 + **实时数据驱动** 设备模型。下面我将为你提供一个完整的解决方案,包含 **核心思路、实现步骤、完整代码示例** 和 **注意事项**。| **渲染层** | 3D 场景搭建、设备模型加载、实时动画渲染、用户交互。| **业务逻辑层** | 数据处理(滤波、转换)、设备状态管理、动画逻辑控制。| **数据层** | 实时采集设备数据(如传感器、PLC、MES 系统),提供数据接口。

寒寒豆豆软件公司的博客 191

Python爬虫教程(非常详细)从零基础入门到精通,看完这一篇就够了

对于绝大多数想要学习Python的朋友而言,爬虫绝对是学习Python的最好的骑手和入门方式。 我当时选择Python学习,也是瞄准了Python爬虫,因为爬虫思维模式固定,编程模式也相对简单,一般在细节处理上积累一些经验都可以成功。

xiaoganbuaiuk的博客 4624

国科大学习资料--VLSI测试与可测试设计--2020期末考试试题

国科大学习资料–VLSI测试与可测试设计–2020期末考试试题 国科大学习资料–VLSI测试与可测试设计–2020期末考试试题 国科大学习资料–VLSI测试与可测试设计–2020期末考试试题 一、概念题 1简述可测试性测度与两个主要的测度指标的含义; 2以March C-算法为例,说明March算法的构成,以及March C-算法的故障覆盖率; 3“效果-原因”诊断法和“原因效果诊断法”的不同; 4列举四条扫描设计时出现的问 题及解决办法; 5最少写出1149.1与1500的五点不同; = = = = =

无名何许人的博客 1148

9款最佳Python脚本:让工作自动化起来!

Python是一种流行的编程语言,我们将探讨9个Python脚本及其代码,。无论您是开发人员、数据分析师还是只是想简化工作流程的人,这些脚本都能满足您的需求。因此,强哥为大家准备了《Python 网页爬虫、文本处理、科学计算、机器学习、和数据挖掘工具集》,希望对你有些帮助,需要的朋友可以文末获取!

qq_41314882的博客 690

YOLO26涨点改进 |独家创新,小目标涨点改进篇 | Arxiv 2025 | MHAF‑YOLO,引入RepHMS高效特征提取模块,适合轻量级目标检测、小目标检测、图像分类、旋转目标检测、实例分割

本文提出了一种改进的YOLO26目标检测模型,通过引入RepHMS模块和多分支辅助特征金字塔结构(MAFPN),显著提升了模型性能。RepHMS模块采用多分支异构卷积和重参数化策略,在不增加推理开销的情况下增强多尺度特征提取能力,尤其提升了小目标检测效果。实验表明,改进后的MHAF-YOLO模型在COCO数据集上仅用7.1M参数就达到48.9% AP,相比YOLO11-s参数量减少24.4%而性能提升1.9%。文章详细介绍了RepHMS模块的原理、实现代码及在YOLO26中的集成方法,并提供了两种改进配置。

Ai缝合怪、助力小伙伴高效发论文 197

ASM准入小助手卸载没有密码的方法:读取明文密码2024年7月有效

在一次工作过程中,电脑中意外的安装了一个ASM准入小助手软件,工作结束以后回来发现没有卸载,然后就决定把它卸载掉,但是居然给了我一个大大的提示框:由于联系不到当时给我安装的那个人了,所以一时陷入了焦灼的状态,因为我安装另一个终端准入,会直接提示冲突了。所以经过注册表(regedit)、任务管理器等各种折腾之后,最后都失败了,然后想起了多年前在吾爱论坛学到过的东西,最后意外的找到了密码,然后就完美成功卸载了。

布啦啦 7795

python——爬虫与脚本

关于py在其他方面的脚本或爬虫应用

lee_maple的博客 2303

BPC坏点矫正

whatis the Bad Pixel? 坏点为死点,也就是基本不随照度变化呈现光电线性转换的关系。表现为暗态常亮,亮态常暗。 坏点分类:静态坏点:亮坏点,暗坏点。 动态坏点:在一定像素范围内,该点表现正常,而超过这一范围,该点表现的比周围像素要亮。与sensor ...

camerall 1万+

python写脚本的优势_选择Python写网络爬虫的优势和理由

什么是网络爬虫?网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件爬虫有什么用?做为通用搜索引擎网页收集器。(google,baidu)做垂直搜索引擎.科学研究:在线人类行为,在线社群演化,人类动力学研究,计量...

weixin_39627481的博客 168

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python怎么写爬虫脚本_利用Python写一个爬妹子的爬虫

前言最近学完Python,写了几个爬虫练练手,网上的教程有很多,但是有的已经不能爬了,主要是网站经常改,可是爬虫还是有通用的思路的,即下载数据、解析数据、保存数据。下面一一来讲。1.下载数据首先打开要爬的网站,分析URL,每打开一个网页看URL有什么变化,有可能带上上个网页的某个数据,例如xxID之类,那么我们就需要在上一个页面分析HTML,找到对应的数据。如果网页源码找不到,可能是ajax异步加...

weixin_39704246的博客 137

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python怎么写爬虫脚本_如何编写python脚本?教你做简单的爬虫,适合初学者

如何编写python脚本?很多朋友学习python都希望能从爬虫开始,而网络爬虫是近年来的热门话题,学习网络爬虫的人越来越多!其实,一般的爬虫技术具有2个功能:取数据和存数据!好像我们说了句废话。。。但从这两个功能进行拓展,需要的知识很多:请求数据,防爬处理,页面解析,内容匹配,绕过验证码,维护登录和数据库等相关知识,今天我们就来谈谈做一个简单的爬虫,需要的一般步骤!!(可以看文章底部哦!)存数据...

weixin_39809168的博客 765

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

python为啥叫爬虫-python为什么叫网络爬虫

爬虫可以抓取网站或应用程序的内容并提取有用的价值,它还可以模拟用户在浏览器或应用程序上的操作,以实现自动化程序。今天小编主要给大家分享python为什么叫网络爬虫,希望对你们有帮助!一、你知道什么是python爬虫吗?爬虫,也就是网络爬虫,可以理解为蜘蛛在网上爬行。互联网被比作一张大网,爬虫是一只在网上爬行的蜘蛛。如果它遇到猎物(需要的资源),它就会将其抓取下来。例如,它抓取一个网页,在这个网页上...

weixin_37988176的博客 235

python如何写简单的脚本-如何开始写你的第一个爬虫脚本——简单爬虫入门!

好多朋友在入门python的时候都是以爬虫入手,而网络爬虫是近几年比较流行的概念,特别是在大数据分析热门起来以后,学习网络爬虫的人越来越多,哦对,现在叫数据挖掘了!其实,一般的爬虫具有为2个功能:取数据和存数据!好像说了句废话。。。而从这2个功能拓展,需要的知识就很多了:请求数据、反爬处理、页面解析、内容匹配、绕过验证码、保持登录以及数据库等等相关知识,今天我们就来说说做一个简单的爬虫,一般需要的...

weixin_37988176的博客 1112

python能写爬虫吗_爬虫只能用python写吗

爬虫不仅仅可以用python写,很多语言都可以实现爬虫。例C,C++、C#、Perl、 Python、Java、 Ruby都可以写爬虫,原理其实相差不大,只不过是平台问题。什么是网络爬虫?网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列...

weixin_39856630的博客 1079

python怎么写爬虫脚本_Python爬虫和爆破脚本编写练习记录一

Python学习记录脚本,想通过练习编写脚本一点点提升自己很菜的编程水平~~明天会更好,希望自己越来越强吧。批量检测域名SEO相关信息项目地址实现原理Python3实现批量查询网站的百度权重以及收录情况,利用的是站长之家的SEO查询接口,所以本脚本相当于是一个爬虫,用来批量提取数据信息。模块相关argparseargparse轻松编写用户友好的命令行界面。定义并解析了需要的参数。当用户给程序提供无...

weixin_39610468的博客 282

【简单爬虫入门】如何开始写你的第一个python脚本

好多朋友在入门python的时候都是以爬虫入手,而网络爬虫是近几年比较流行的概念,特别是在大数据分析热门起来以后,学习网络爬虫的人越来越多,哦对,现在叫数据挖掘了!

DEVELOPERAA的博客 876

为什么你写的Python爬虫脚本老是掉链子?

学Python的人有很大一部分是为了爬虫,对~没错,就是采集网页数据,但哪怕是Python老手写爬虫也很难稳定的采集到数据,老是掉链子。现在大型网站的反爬策略越来越高明了,不仅是对IP访问频率、User-Agent请求头进行异常识别,还会分析IP地址、浏览器指纹、JS动态加载、API逆向、行为模式等方式各种设卡,动不动跳出五花八门的验证码,非常难搞。

分享Python、数据分析、人工智能前沿知识 1744

python怎么暂停爬虫_python写了个爬虫脚本怎么通过web 方式控制开始暂停呢

我用python写了个爬虫脚本,怎么通过web 方式控制开始,暂停呢?楼主的问题可以分为两部分。一是找到一种适合的 IPC(进程间通信)方式来实现控制脚本的目的,二是找一个合适的web framework来写一个好用的web UI。一的话,IPC有很多种方式,楼上的signal/env/process都是不错的方式。我也很推荐socket,毕竟这也是非常常见的方式。library方面,我推荐Twi...

weixin_39996134的博客 831

爬虫python脚本怎么写_如何开始写你的第一个python脚本——简单爬虫入门!-阿里云开发者社区...

好多朋友在入门python的时候都是以爬虫入手,而网络爬虫是近几年比较流行的概念,特别是在大数据分析热门起来以后,学习网络爬虫的人越来越多,哦对,现在叫数据挖掘了!其实,一般的爬虫具有2个功能:取数据和存数据!好像说了句废话。。。而从这2个功能拓展,需要的知识就很多了:请求数据、反爬处理、页面解析、内容匹配、绕过验证码、保持登录以及数据库等等相关知识,今天我们就来说说做一个简单的爬虫,一般需要的步...

weixin_39991926的博客 127

python如何写简单的脚本-如何开始写你的第一个python脚本——简单爬虫入门!

好多朋友在入门python的时候都是以爬虫入手,而网络爬虫是近几年比较流行的概念,特别是在大数据分析热门起来以后,学习网络爬虫的人越来越多,哦对,现在叫数据挖掘了!其实,一般的爬虫具有2个功能:取数据和存数据!好像说了句废话。。。而从这2个功能拓展,需要的知识就很多了:请求数据、反爬处理、页面解析、内容匹配、绕过验证码、保持登录以及数据库等等相关知识,今天我们就来说说做一个简单的爬虫,一般需要的步...

weixin_37988176的博客 513

利用Python写一个爬虫脚本对象:movie.douban.com的用户评论

变量为你要爬取的电影的 URL。此外,由于 Douban 可能会对爬虫行为做出限制,所以在高频率地爬取时需要谨慎处理,或者更换代理ip。的用户评论的爬虫脚本时,我们需要使用合适的爬虫库来处理 HTML 页面和抽取数据。以下是使用 Python 的。这个脚本会获取指定电影页面中的所有用户评论,并逐行打印它们。注意,在实际运行这个脚本之前,你需要替换。库来获取指定电影页面中的用户评论的示例代码。首先,确保已经安装了。

m0_59547487的博客 188
上一篇: springboot 访问html_Spring Boot中使用Spring Security进行安全控制
下一篇: 生命周期 用户可以操作dom_React 生命周期的打怪升级之路
weixin_39777464
博客等级 码龄9年 37粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值