Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
尤成军军军
Python 爬虫120例
提交
00603f53
Python 爬虫120例
项目概览
尤成军军军
/
Python 爬虫120例
与 Fork 源项目一致
Fork自
梦想橡皮擦 / Python 爬虫120例
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Python 爬虫120例
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
00603f53
编写于
8月 31, 2021
作者:
梦想橡皮擦
💬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
非遗数据
上级
bf1520ba
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
50 addition
and
0 deletion
+50
-0
NO25/非遗数据.py
NO25/非遗数据.py
+50
-0
NO25/非遗数据/文件目录.txt
NO25/非遗数据/文件目录.txt
+0
-0
未找到文件。
NO25/非遗数据.py
0 → 100644
浏览文件 @
00603f53
import
threading
import
requests
import
random
class
Common
:
def
__init__
(
self
):
pass
def
get_headers
(
self
):
uas
=
[
"Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
,
"你自己的UA值,或者可以从之前的博客中获取"
]
ua
=
random
.
choice
(
uas
)
headers
=
{
"user-agent"
:
ua
,
"referer"
:
"https://www.baidu.com"
}
return
headers
def
run
(
index
,
url
,
semaphore
,
headers
):
semaphore
.
acquire
()
# 加锁
res
=
requests
.
get
(
url
,
headers
=
headers
,
timeout
=
5
)
res
.
encoding
=
'utf-8'
text
=
res
.
text
save
(
index
,
text
)
semaphore
.
release
()
# 释放
# 存储的数据中文进行了 UNICODE 编码,分析的时候注意转化
def
save
(
index
,
text
):
with
open
(
f
"./非遗数据/
{
index
}
.json"
,
"w"
,
encoding
=
"utf-8"
)
as
f
:
f
.
write
(
f
"
{
text
}
"
)
print
(
"该URL地址数据写入完毕"
)
if
__name__
==
'__main__'
:
c
=
Common
()
url_format
=
'http://www.ihchina.cn/Article/Index/getProject.html?province=&rx_time=&type=&cate=&keywords=&category_id=16&limit=10&p={}'
# 拼接URL,全局共享变量,362 页直接设置,没有动态获取
urls
=
[
url_format
.
format
(
i
)
for
i
in
range
(
1
,
362
)]
# 最多允许5个线程同时运行
semaphore
=
threading
.
BoundedSemaphore
(
5
)
for
i
,
url
in
enumerate
(
urls
):
t
=
threading
.
Thread
(
target
=
run
,
args
=
(
i
,
url
,
semaphore
,
c
.
get_headers
()))
t
.
start
()
while
threading
.
active_count
()
!=
1
:
pass
else
:
print
(
'所有线程运行完毕'
)
NO25/非遗数据/文件目录.txt
0 → 100644
浏览文件 @
00603f53
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录