爬虫系列的第一篇文章,本篇帮助不大(只能教你利用requests库获取HTML),后续篇(二)会有案例讲解。

python版本:python 3.7.0b1

IDE:PyCharm 2016.3.2

涉及模块:requests  &  builtwith & whois

模块安装方法:Win+R 进入cmd, 进入文件夹Scripts

命令:pip install requests / pip install requests / pip install whois(如不能正确安装,请留言或自行百度解决)

如要在PyCharm中使用库,先添加一下(添加方法)。


话不多说,先上代码:

 #coding : utf-8
import requests
import builtwith #引入所需python库
print("开始爬取")
url = "https://www.wenjiwu.com/doc/uqzlni.html" #爬取对象网址
r = requests.get(url) #requests模块get方法
print (r.status_code) #xxx.status_code方法,返回值若为200,则爬取成功
print (r.text) #xxx.text方法,得到URL对应HTML源码
print (builtwith.parse(url)) #builtwith模块将URL作为参数,返回该网站使用的技术

(url网址随意,baidu, imooc...都可以)

脚本运行结果:

可以看到,程序正常运行,返回值200,爬取成功,builtwith模块得到了示例网站 web-servers: Nginx(服务器类型,详细了解),

使用了jQuery的javascript框架。但是碍于篇幅,其中HTML源码内容运行时注释掉了,不要惊讶!!!

r.text 结果(部分):

(内容无意中伤 Single Dog, Me too  #_# )


补充:写成函数形式

 #coding : utf-8
import requests
import whois
import builtwith def download(url, x):
print ("downloading...")
ans = requests.get(url)
islink = ans.status_code # '''通行码'''
user = whois.whois(url) #'''网站所有者'''
pattern = builtwith.parse(url) #'''网站类型'''
result = ans.text #'''网站内容HTML'''
if islink == 200:
print ("successfully link!")
else:
print ("Sorry, it is no found!")
if x == 'y':
print ('owner: ', user)
print ('pattern: ', pattern)
print ('text: ', result)
return result
else:
return 000
url = "https://www.baidu.com"
download(url, 'y')

补充:把爬取的内容写入txt文件

  # 写入*.txt文件
f = open("D:\python3.7\\testf.txt", mode='a', errors='ignore')
for x in ans.text:
f.write(x)
f.close()

文件地址随意,errors=‘ignore’是为了防止诸如  ...'\xe7'..., illegal multibyte sequence转码问题的出现。


转载请注明出处,欢迎留言讨论。


python网络爬虫入门(一)的更多相关文章

  1. python网络爬虫入门范例

    python网络爬虫入门范例 Windows用户建议安装anaconda,因为有些套件难以安装. 安装使用pip install * 找出所有含有特定标签的HTML元素 找出含有特定CSS属性的元素 ...

  2. Python网络爬虫入门篇

    1.  预备知识 学习者需要预先掌握Python的数字类型.字符串类型.分支.循环.函数.列表类型.字典类型.文件和第三方库使用等概念和编程方法. 2. Python爬虫基本流程 a. 发送请求 使用 ...

  3. Python网络爬虫入门实战(爬取最近7天的天气以及最高/最低气温)

    _ 前言 本文文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: Bo_wen   最近两天学习了一下python,并自己写了一个 ...

  4. python网络爬虫入门(二)

    刚去看了一下,18年2月份写了第一篇关于爬虫的文章(仅仅介绍了使用requests库去获取HTML代码),一年多之后看来很稚嫩也没有多少参考的意义,但没想着要去修改它,留着也是一个回忆吧.至少证明着我 ...

  5. python网络爬虫-入门(二)

    为什么要学网络爬虫 可以替代人工从网页中找到数据并复制粘贴到excel中,这种重复性的工作不仅浪费时间还一不留神还会出错----解决无法自动化和无法实时获取数据     对于这些公开数据的应用价值,我 ...

  6. python网络爬虫-入门(一)

    前言 1.爬虫程序是Dt(Data Technology,数据技术)收集信息的基础,爬取到目标网站的资料后,就可以分析和建立应用了. 2.python是一个简单.有效的语言,爬虫所需要的获取.存储.整 ...

  7. Python网络爬虫实战(一)快速入门

    本系列从零开始阐述如何编写Python网络爬虫,以及网络爬虫中容易遇到的问题,比如具有反爬,加密的网站,还有爬虫拿不到数据,以及登录验证等问题,会伴随大量网站的爬虫实战来进行. 我们编写网络爬虫最主要 ...

  8. python网络爬虫之入门[一]

    目录 前言 一.探讨什么是python网络爬虫? 二.一个针对于网络传输的抓包工具fiddler 三.学习request模块来爬取第一个网页 * 扩展内容(爬取top250的网页) 后记 @(目录) ...

  9. python网络爬虫实战之快速入门

    本系列从零开始阐述如何编写Python网络爬虫,以及网络爬虫中容易遇到的问题,比如具有反爬,加密的网站,还有爬虫拿不到数据,以及登录验证等问题,会伴随大量网站的爬虫实战来进行. 我们编写网络爬虫最主要 ...

随机推荐

  1. 【spring】从简单配置使用到深入

    一.使用前的配置 1.maven引入需要的jar包 <properties> <spring.version>4.1.6.RELEASE</spring.version& ...

  2. 《CLR Via C#》读书笔记:26.线程基础

    一.线程开销 操作系统创建线程是有代价的,其主要开销在下面列举出来了. 内存开销 线程内核对象 拥有线程描述属性与线程上下文,线程上下文占用的内存空间为 x86 架构 占用 700 字节.x64 架构 ...

  3. pylot测试工具环境搭建

    1.下载Pylot:www.pylot.org/ 2. 安装Python 2.5 + (必须) 3. 安装wxPython(可选 - 用于GUI模式) 4. 安装numpy的(可选 - 用于报告以图表 ...

  4. MySQL(2)---Explain

    Explain 什么是explain 使用explain关键字,可以模拟优化器执行SQL语句查询,从而知道MySQL如果处理你的SQL语句,分析语句的性能瓶颈. explain 分析sql语句 使用e ...

  5. Git学习系列之如何正确且高效地将本地项目上传到Github(图文详解)

    不多说,直接上干货! 首先你需要一个Github账号,所以还没有的话先去注册吧! https://github.com/ 见 如何走上更高平台分享传递干货知识:(开通个人Github面向开源及私有软件 ...

  6. 搭建 MobileNet-SSD 开发环境并使用 VOC 数据集训练 TensorFlow 模型

    原文地址:搭建 MobileNet-SSD 开发环境并使用 VOC 数据集训练 TensorFlow 模型 0x00 环境 OS: Ubuntu 1810 x64 Anaconda: 4.6.12 P ...

  7. [NewLife.XCode]高级查询(化繁为简、分页提升性能)

    NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和 ...

  8. 【原创】Hacker学习发展流程图 V1.0

    这两张Hacker学习发展流程图都来自A1PASS之手,V0.2为2009推出的,V1.0为2015推出,在这里保存这两张图作为自己学习的方向,希望自己有朝一日也能成为IT大牛!!!

  9. Go语言学习笔记(三) [控制结构、内建函数]

    日期:2014年7月21日   一.控制结构   1.Go中,只有几个控制结构,它没有do或者while循环,有for,灵活的switch语句和if,在switch中可以接受像for那样可选的初始化语 ...

  10. Flask入门第二天

    一.请求钩子 在客户端和服务器交互的过程中,有些准备工作或稍微工作是需要处理的,比如:在请求开始时,建立数据库连接:在请求开始时,根据需求进行权限校验:在请求结束时,指定数据的交互格式等.为了让每个视 ...