使用多线程、随机代理和用户代理抓取网站
项目描述
First_scrap
https://theodor85.github.io/first_scrap/
First_scrap 是一个用于多线程抓取站点的库,带有随机代理和用户代理。
安装
要开始使用 first_scrap 库,请激活(或在必要时创建)您的虚拟环境。例如,如下所示:
python3 -m venv env
source ./env/bin/activate
要安装 First_scrap 使用 pip 包管理器:
pip install firstscrap
另一种安装方法是从 GitHub 获取源代码。为此,请在控制台中执行命令:
git clone http://github.com/theodor85/first_scrap
cd first_scrap
python setup.py develop
如何使用
使用示例从一个网页中提取数据:
from firstscrap import pagehandler
@pagehandler(parser="BeautifulSoup")
def get_data(url, soup=None):
# your only beatifulsoup code, without any requests, proxies, etc
span = soup.find( name="span", attrs={"class": "p-nickname vcard-username d-block"} )
text = span.get_text().strip()
return text
if __name__ == '__main__' :
print( get_data('https://github.com/theodor85') )
# output:
# theodor85
引擎盖下是什么
从单个页面中提取数据时:
- 从存储在文件中的列表中选择随机代理服务器和用户代理。
- 这些代理和用户代理用于访问我们需要的页面。
- 使用 BeautifulSoup 从页面中检索数据。
最有趣的是大量相同的页面处理
这是示例:
from firstscrap import listhandler
TEST_URLLIST_OLX = [
'https://www.olx.ua/obyavlenie/spetsialist-po-podklyucheniyu-interneta-IDGnCkB.html',
'https://www.olx.ua/obyavlenie/menedzher-po-robot-s-klentami-IDGkGK6.html',
]
@listhandler(threads_limit=5, parser='BeautifulSoup')
def get_date_time_from_olx(urllist, soup=None):
''' Beautifulsoup code for one page '''
em = soup.find('em')
row_text = em.get_text().strip()
return row_text
if __name__ == '__main__' :
data = get_date_time_from_olx(TEST_URLLIST_OLX)
for item in data:
print(item)
# output:
# Добавлено: в 16:49, 26 декабря 2019, Номер объявления: 626235005
# Добавлено: в 16:18, 29 декабря 2019, Номер объявления: 625536978
引擎盖下是什么
程序在单独的线程中处理每一页,同时运行的线程数不超过threads_limit.
每个线程都使用随机代理和用户代理发出请求。
运行测试
要在控制台中运行测试类型:
python -m unittest -v tests/tests.py
在运行测试之前,请确保您的 Internet 连接处于活动状态。
贡献
将您的代码合并到“开发”分支以供贡献。
欢迎分叉和拉取请求!如果你喜欢first_scrap,别忘了给个star!
错误报告
要报告错误,请发送邮件至fedor_coder@mail.ru ,并附上标签“first_scrap 错误报告”。
执照
该项目在 MIT 许可证下获得许可 - 有关详细信息,请参阅LICENSE.txt文件。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
firstscrap-0.2.0.tar.gz
(10.1 kB
查看哈希)
内置分布
firstscrap-0.2.0-py3-none-any.whl
(14.1 kB
查看哈希)
关
firstscrap -0.2.0.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | bab0ef34f1564737ee0993318a740997534d35ccd0cf063e7d56f90140ef3a25 |
|
| MD5 | c12b48eb9c17d44e23af67df870fdcfa |
|
| 布莱克2-256 | 74685b6498936281bf92089d827f8356ccc116afb7c6a90990caba8bb13a06a7 |
关
firstscrap -0.2.0-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 14f7306fa249fb385c82e63e53dd729b0bba242372a763a93aa338b24c2ed321 |
|
| MD5 | d909ba4d00c7913285cb21fc9d248c97 |
|
| 布莱克2-256 | a66005ca2400fa44123bb01aeff7ebeef7af1a9fa06309ecc8a1cb59499630b1 |