爬虫通用框架

 1 爬虫通用框架
 2 import requests
 3
 4 def get_html_text(url):
 5     try:
 6         r =requests.get(url,timeout=20)
 7
 8         r.raise_for_status()
 9
10         r.encoding = r.apparent_encoding
11
12         return r.text
13
14     except:
15         return "产生异常"
16
17 if __name__ == ‘__main__‘:
18     url ="http://www.baidu.com"
19     print(get_html_text(url))
20
21
22 实例
23 import requests
24 from bs4 import BeautifulSoup
25
26 def getHTMLText(url):
27     try:
28         r = requests.get(url,timeout=20) #设置超时
29         r.raise_for_status()   # 判断请求是否成功
30         r.encoding = r.apparent_encoding  # 设置编码
31         return r.text   # 返回获取内容
32     except: #异常处理
33         return "产生异常"
34
35 if __name__ == ‘__main__‘:
36     url = "https://book.douban.com/subject/1084336/comments/"  # 需要请求的网址
37     # print(getHTMLText(url)) #调用函数
38     requests = getHTMLText(url)  # 获取文本内容
39     soup = BeautifulSoup(requests,"html.parser")  # 文本解析
40     reasult = soup.find_all("div",class_="comment") # 文本处理
41     for i in reasult :
42         print(i.p.text)  # 循坏打印文本

原文地址:https://www.cnblogs.com/mai1994/p/11146063.html

时间: 2024-11-11 02:09:51

爬虫通用框架的相关文章

(转)Python爬虫--通用框架

转自https://blog.csdn.net/m0_37903789/article/details/74935906 前言: 相信不少写过Python爬虫的小伙伴,都应该有和笔者一样的经历吧只要确定了要爬取的目标,就开始疯狂的写代码,写脚本经过一番努力后,爬取到目标数据:但是回过头来,却发现自己所代码复用性小,一旦网页发生了更改,我们也不得不随之更改自己的代码,而却自己的程序过于脚本化,函数化,没有采用OPP的思维方式:没有系统的框架或结构. 指导老师看了笔者的爬虫作品后,便给出了以下三点建

python爬虫scrapy框架——人工识别登录知乎倒立文字验证码和数字英文验证码(2)

操作环境:python3 在上一文中python爬虫scrapy框架--人工识别登录知乎倒立文字验证码和数字英文验证码(1)我们已经介绍了用Requests库来登录知乎,本文如果看不懂可以先看之前的文章便于理解 本文将介绍如何用scrapy来登录知乎. 不多说,直接上代码: import scrapy import re import json class ZhihuSpider(scrapy.Spider): name = 'zhihu' allowed_domains = ['www.zhi

linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现

1 TCP简介 tcp是一种基于流的应用层协议,其"可靠的数据传输"实现的原理就是,"拥塞控制"的滑动窗口机制,该机制包含的算法主要有"慢启动","拥塞避免","快速重传". 2 TCP socket建立和epoll监听实现 数据结构设计 linux环境下,应用层TCP消息体定义如下: typedef struct TcpMsg_s { TcpMsgHeader head; void* msg; }TcpM

前端通用框架可行性研究报告之弹窗

1. 研究Web框架的动态加载技术 针对移动互联网环境下移动端内存.流量.电池资源有限,通过使用动态加载技术,将程序文件打散成多个小文件,以延迟加载技术(LazyLoading),实现按需加载提升用户体验,降低移动端的资源使用率.在业务和样式上,前端开发人员只需要在JS代码块头部引用需要的js库和css样式即可.在逻辑上,开发人员只需调用后端提供的接口进行读取与显示.这种技术的主要优点包括可维护性高.动态加载快.前端性能优化好. 2. 研究模块化构建技术 在前端人员开发移动应用项目的基础上,通过

机器学习通用框架

作者:Datartisan链接:https://zhuanlan.zhihu.com/p/22833471来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 每个数据科学家每天都要处理成吨的数据,而他们60%~70%的时间都在进行数据清洗和数据格式调整,将原始数据转变为可以用机器学习所识别的形式.本文主要集中在数据清洗后的过程,也就是机器学习的通用框架.这个框架是我在参加了百余场机器学习竞赛后的一个总结.尽管这个框架是非常笼统和概括的,但是绝对能发挥强大的作用,仍然可

爬虫的框架

[开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [二] 最基本,最自由的使用方式 上一篇大至 介绍了一下爬虫的框架设计,从这一篇开始着重介绍如何使用这个爬虫. 数据抽取定义 之前也有人反应说用Attribute+模型来定义抽取规则太花哨,实用性不强.实际上可能他没有仔细看到我的设计,我的核心抽取不是Attrbiute+模型,而是采用类似JSON的定义格式,可以实现各种嵌套,各种能想像到的复杂情况.参考最早一版定义(最新版有修改,设计思路没有变化) "entities&

Tensorflow实现Mask R-CNN实例分割通用框架,检测,分割和特征点定位一次搞定(多图)

Mask R-CNN实例分割通用框架,检测,分割和特征点定位一次搞定(多图) 导语:Mask R-CNN是Faster R-CNN的扩展形式,能够有效地检测图像中的目标,同时还能为每个实例生成一个高质量的分割掩码. 对Facebook而言,想要提高用户体验,就得在图像识别上做足功夫. 雷锋网此前报道<Facebook AML实验室负责人:将AI技术落地的N种方法>(上 ,下篇)就提到,做好图像识别,不仅能让Facebook的用户更精准搜索到想要的图片,为盲人读出图片中包含的信息,还能帮助用户在

.net通用框架(一)

一直做软件实施,用过一些二次开发平台,最近看了一些大神写的框架,于是参考写了一个B/S通用权限框架,项目使用MVC4+EF5+EASYUI(.net framework4),开发环境vs2010+sqlserver2008 解决方案分为 1. web网站部分MIS 2. 公共通用组件项目MISCOMM 3. MODEL和DAL项目(含IDAL)这三部分是可以分成三个项目的,我在这就合在一起了 整个通用框架截图 通用权限管理系统由 1. 组织机构管理 2. 员工管理 3. 导航菜单 4. 操作权限

【Android数据库优化】利用注解实现SQLite通用框架抽取

在开发Android应用的过程中,少不了要用到SQLite数据库操作,各种增删查改...一般看来,对于不同的实体类的数据库操作,貌似我们只能使用不同的"增删查改"方法来实现,本次的想法就是,能不能抽取出一个通用的框架,使得对于不同的实体类的数据库操作,可以使用同一个接口的实现来做...废话少说,进入正题. 一.普通的数据库操作的实现 现在有一个Book的类,里面有三个成员变量,id,tittle和summary,其中id将会作为主键,且自增.Book代码如下: package com.