爬虫系列的第一篇文章,本篇帮助不大(只能教你利用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. mongo 字段重命名

    执行语句 db.getCollection("A表").updateMany( {}, { $rename: { "A": "A1"} } ...

  2. yum安装Elasticsearch5.x

    这里演示YUM和RPM两种方式安装Elasticsearch 下载并安装 public signing key: rpm --import https://artifacts.elastic.co/G ...

  3. vscode mysql v0.3插件 连接不了

    环境: centos7.6  x64 python 3.6 插件mysql v0.3 解决办法:回滚插件版本v0.2.3 使用方法注意: https://www.cnblogs.com/-admin- ...

  4. nginx中root和alias的区别

    nginx中root和alias的区别    

  5. 【原创】《windows驱动开发技术详解》第4章实验总结一

    目录 1 实验要求 2 编写过程 2.1 确立整体架构 2.1.1 入口函数——DriverEntry 2.1.2 自定义创建设备函数——CreateDevice 2.1.3 卸载函数——Driver ...

  6. zookeeper实现动态感知服务器上下线

      在实际的生产环境中我们一般都是集群环境部署的,同一个程序我们会部署在相同的几台服务器中,这时我们可以通过负载均衡服务器去调度,但是我们并不能很快速的获知哪台服务器挂掉了,这时我们就可以使用zook ...

  7. CSS一些样式以及注意

    [在这里归纳一些有用,但是不常用而不容易记住的一些CSS属性-(日后慢慢补充)] border-radius:100px; --圆角[比如按钮使用之后由长方形变成类似椭圆] placeholder=& ...

  8. Webapi--Webapi 跨域链接

    1]创建 WebAPIWebAPI WebAPI,新建 ,新建 ->项目 ->ASP.NET Web >ASP.NET Web >ASP.NET Web >ASP.NET ...

  9. [心得] 如何利用liquibase進行資料庫版本控制 - 基礎觀念

    前言 - 會寫這篇除了是要記錄一下使用的過程之外,也是發現到網路上找來的教學幾乎都是跟其它環境做結合 比較沒有單純利用command進行的流程.也沒有整體觀念的介紹,所以將我所理解的整理分享給大家. ...

  10. 第一册:lesson twenty seven。

    原文 :Mrs.smith's living room. Mrs.smith's living room is large. There is a television in the room. Th ...