[Python] 纯文本查看 复制代码# coding=utf-8

# python 3.7

import urllib.request,urllib.error

import re

import threading

import multiprocessing

from time import sleep

# 保存网页内容

def dataFilter():

# 设置了全局参数(方便),最好还是传参数

global htmlQueue # 任务队列

global some # log文件

global lock # 文件锁

while True:

html = htmlQueue.get() # 从任务队列中获取任务(数据)

if html is None: exit(0) #退出线程

# 正则表达式获取数据

favorites = re.compile(r'title="收藏">(\d+)').findall(html)

centent = re.compile(r'id="txt-\d+-\d+">(.*?)

').findall(html)

# 收藏值大于 70 的保存

tmp = []

lock.acquire() # 当文件没有其他线程写入时写入文件

for n in range(len(favorites)):

if int(favorites[n]) > 70:

tmp.append(favorites[n])

index = n*2

tmp.append(centent[index])

tmp.append(centent[index+1])

some.write(','.join(tmp) + '\n')

some.flush()

tmp.clear()

lock.release() # 写入文件完成,报告(默认为 1 )

# 获取一页网页数据

def GetHtml(url):

# 浏览器头部信息

head = {

'Accept-Language': 'zh-CN,zh;q=0.9',

"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.30 Safari/537.36"

}

req = urllib.request.Request(url=url, headers=head)

# 这里可以加入 try 代码,处理打开网页失败情况

response = urllib.request.urlopen(req)

return response.read().decode('utf-8')

# 爬取网站IP

url = 'https://www.woyaogexing.com/name/ql/'

# 第一页

print(f'正在爬取第一页 {url}')

parent = GetHtml(url)

# 获取当前页面包含的所有下一页的IP

page = re.compile(r'/name/ql/(index_\d+.html)').findall(parent)

page = set(page) # 集合去重

page = list(page) # 转换回列表

page.sort() # 排序

# 第一页包含的所有页面IP

print(page)

# log保存文件

some = open('some.txt', 'w', encoding='utf-8')

some.write('收藏数, 签名1, 签名2\n')

# 写入文件锁,只能单个写入,避免数据混淆

# 默认值为 1 (单个线程写入文件)

lock = threading.Semaphore()

# 线程任务队列

htmlQueue = multiprocessing.Queue()

# 管理所有线程的容器

threadList = []

# 开启4个线程

# 设置为守护线程,主线程退出后结束所有子线程,避免线程悬挂

maxThreadN = 4

for n in range(maxThreadN):

tmp = threading.Thread(target=dataFilter, daemon=True)

threadList.append(tmp)

tmp.start()

# 向线程任务队列提交任务

for n in page:

print(f'正在爬取 {n}')

sleep(2) # 加上等待时间2秒,我们要对网站温柔一些

htmlQueue.put(GetHtml(url + n))

# 任务完成,提交数据 None 结束所有线程

for n in range(maxThreadN):

htmlQueue.put(None)

# 等待所有线程结束

for th in threadList:

th.join()

# 最后关闭 log 文件

some.close()

input('所有任务完成!')

python3爬取带密码的网站_Python3 爬取网站收藏数超过70的 情侣网名相关推荐

  1. python和c 情侣网名_Python3 爬取网站收藏数超过70的 情侣网名

    [Python] 纯文本查看 复制代码# coding=utf-8 # python 3.7 import urllib.request,urllib.error import re import t ...

  2. 用计算机专业起情侣网名,带对方名字的情侣网名最新精选

    情侣网名是当今QQ网名中最为火爆的网名之一,QQ情侣网名就是网络中2人相互定位的暧昧称呼.QQ情侣网名受到了90后甚至00后情侣的青睐.今天小编在这给大家整理了带对方名字的情侣网名大全,接下来随着小编 ...

  3. python爬取今日头条的文章_Python3爬取今日头条有关《人民的名义》文章

    Python3爬取今日头条有关<人民的名义>文章 最近一直在看Python的基础语法知识,五一假期手痒痒想练练,正好<人民的名义>刚结束,于是决定扒一下头条上面的人名的名义文章 ...

  4. t3计算机名带特殊符号,带特殊符号的网名,带特殊符号的网名

    带特殊符号的网名,带特殊符号的网名以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 带特殊符号个性网名,更多男生女生网名大 ...

  5. 计算机专业网名英语翻译,英文网名_好听的英文网名带翻译

    [英文网名]男女通用英文网名大全 导读:英文形式的网名,是现在男女喜用的类型,不仅可给人美好之感,而且还增加自身文化气息.而对于英文网名的类型,有简单.好听的,也有霸气.响亮的等等.其中通用型网名风格 ...

  6. 如何利用 C# 爬取带 Token 验证的网站数据?

    在对文本数据的情感分析中,基于情感词典的方法是最简单也是最常用的一种了. 它的大体思路如下: 对文档分词,找出文档中的情感词.否定词以及程度副词,然后判断每个情感词之前是否有否定词及程度副词,将它之前 ...

  7. [Python]网站数据爬取任务

    Python爬虫作业:网站数据爬取任务 从以下网址(包括但不限于下列网络或应用)中爬取数据,以核实的形式存储数据,并进行分析(不一定是计算机角度的分析,可写分析报告),或制作词云图. 一.文本数据 酷 ...

  8. 利用python编写爬虫程序,从招聘网站上爬取数据,将数据存入到MongoDB数据库中,将存入的数据作一定的数据清洗后做数据分析,最后将分析的结果做数据可视化

    教程演示 创建爬虫项目 编写需要爬取的字段(items.py) 编写spider文件(wuyou.py) 编写数据库连接(pipelines.py) 编写反爬措施(settings.py) Mongo ...

  9. python爬虫怎么爬同一个网站的多页数据-如何用Python爬数据?(一)网页抓取

    如何用Python爬数据?(一)网页抓取 你期待已久的Python网络数据爬虫教程来了.本文为你演示如何从网页里找到感兴趣的链接和说明文字,抓取并存储到Excel. 需求 我在公众号后台,经常可以收到 ...

最新文章

  1. python中的class怎么用_对python 中class与变量的使用方法详解
  2. asp.net窗体操作总结
  3. jquery实现回车键触发事件
  4. android数据存储心得,android学习心得 轻量级存储SharePreferences
  5. Docker基本命令入门
  6. netty冲突 play sbt_尝试添加MySQL / slick后,Strange Play Framework 2.2异常
  7. 基于AMPL的tsp旅行商问题
  8. ubuntu linux拼音输入法,Ubuntu 中文拼音输入法小结
  9. 北塔曾经很张狂 如今沉默为哪桩
  10. 进阶C语言------>字符函数和字符串函数------strerror函数
  11. 无聊的游戏 Beta 0.1
  12. Java中值得你小心的事(一)——继承
  13. 简书android微信抢红包,GO从0到1实战微服务版抢红包系统
  14. 台湾云门舞集今年将赴北京、上海等地巡演
  15. 在SEO中必备的知识应该滚瓜烂熟,其余的就是实战落实
  16. java毕业设计 基于vue的小区停车场停车位短租管理系统ssm源码介绍
  17. ncurses库 常用函数及基本使用
  18. 第十六周项目1--验证算法--(6)堆排序
  19. 电力电子与电气行业常用英语单词汇总
  20. 计算机病毒课程毕业论文,计算机病毒原理论文

热门文章

  1. python新手入门英文词汇笔记(1-1)_Python新手入门英文词汇(1-1)
  2. sharepoint页面嵌入_在SharePoint 2010页面中嵌入SWF文件
  3. 图片优化_Web 性能优化: 图片优化让网站大小减少 62%
  4. Android开发之Git提交Template模板配置
  5. window命令查看cpu核数_win7如何查内存条型号机CPU 信息【通过命令来查看】
  6. ubuntu系统配置nijia_在Debian系统中使用backupninja定制备份计划的教程
  7. java 学习代码库_java 学习4
  8. @Mock与@InjectMocks的区别
  9. 网页简单上传图片 imgareaselect插件
  10. Linux常用命令(八)LVM逻辑卷管理