Python,小白自学爬虫

学习内容源自:博客园 金角大王

2018.7.22

Urllib库的基本使用                                                                                                                                   

什么是Urllib?

Urllib是python内置的HTTP请求库
包括以下基础模块:
urllib.request       请求模块
urllib.error       异常处理模块
urllib.parse      url解析模块
urllib.robotparser  robots.txt解析模块

urllib.request的使用                                          

  • urlopen

urllib.request.urlopen

完整参数:urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

一般常用:urllib.requeset.urlopen(url,data,timeout)

  • url参数

简单栗子

1 import urllib.request
2
3 response = urllib.request.urlopen(‘https://bj.ke.com/‘)
4 print(response.read().decode(‘utf-8‘))

结果:抓取贝壳网首页的Javascript中的内容

response.read()可以获取到网页的内容,decode(‘utf-8‘)可以是抓取到的内容以utf-8的格式输出

  • data参数

网站:http://httpbin.org 

该网站可以用来模拟各中请求

栗子:

1 import urllib.parse
2 import urllib.request
3
4 data = bytes(urllib.parse.urlencode({‘word‘: ‘hello‘}), encoding=‘utf8‘)
5 print(data)
6 response = urllib.request.urlopen(‘http://httpbin.org/post‘, data=data)
7 print(response.read())

备注:

1、urllib.parse  url解析模块

2、通过bytes(urllib.parse.urlencode())可以将post数据进行转换放到urllib.request.urlopen的data参数中,这样就完成了一次post请求

3、添加data参数的时候就是以post请求方式请求,如果没有data参数就是get请求方式

4、GET和POST的区别就是:请求的数据GET是在url中,POST则是存放在头部

GET:向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中,例如在Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意访问

POST:向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会创建新的资源或修改现有资源,或二者皆有。

  • timeout参数

{"args":{},"data":"","files":{},"form":{"word":"shang"},"headers":{"Accept-Encoding":"identity","Connection":"close","Content-Length":"10","Content-Type":"application/x-www-form-urlencoded","Host":"httpbin.org","User-Agent":"Python-urllib/3.7"},"json":null,"origin":"183.240.196.58","url":"http://httpbin.org/post"}

b‘{"args":{},"headers":{"Accept-Encoding":"identity","Connection":"close","Host":"httpbin.org","User-Agent":"Python-urllib/3.7"},"origin":"183.240.196.58","url":"http://httpbin.org/get"}\n‘

原文地址:https://www.cnblogs.com/ace722/p/9350879.html

时间: 2024-10-18 06:57:53

Python,小白自学爬虫的相关文章

Python的自学之路:Python基础(一)

声明:我写博客不是为了什么,只是为了记录自己的学习状态,学过的知识点!方便以后进行好的复习!python小白,勿喷 python环境的搭建,在这里就不细说了,这里有我的链接,可以参考一下:https://zhidao.baidu.com/question/306884346674551164 首先,我们先一起来认识一下python. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发

python小白-day6 time&datetime模块

time&datetime ?一.time模块 time模块提供各种操作时间的函数 说明:一般有两种表示时间的方式:       第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的       第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同 1 2 3 4 5 6 7 8 9 10 11 12 import time print('clock():',time.cl

[踩坑]python实现并行爬虫

问题背景:指定爬虫depth.线程数, python实现并行爬虫   思路:    单线程 实现爬虫类Fetcher                 多线程 threading.Thread去调Fetcher  方法:Fetcher 中,用urllib.urlopen打开指定url,读取信息: response = urllib.urlopen(self.url) content = response.read() 但是这样有问题, 比如对于www.sina.com来说,读出来的content是

Windows 环境下运用Python制作网络爬虫

import webbrowser as web import time import os i = 0 MAXNUM = 1 while i <= MAXNUM: web.open_new_tab('要刷的网络地址') os.system('taskkill /F /IM 浏览器文件名(chrome.exe)') i += 1 else: print 'happly day!' 代码和简单只要一个第三方的函数和调用系统的文件就OK了.记住给要刷的次数定值,不然电脑就不好受了! Windows

dota玩家与英雄契合度的计算器,python语言scrapy爬虫的使用

首发:个人博客,更新&纠错&回复 演示地址在这里,代码在这里. 一个dota玩家与英雄契合度的计算器(查看效果),包括两部分代码: 1.python的scrapy爬虫,总体思路是page->model->result,从网页中提取数据,组成有意义的数据结构,再拿这数据结构做点什么. 在这个项目中,爬虫的用处是从游久网dota数据库上抓取dota英雄和物品的数据和照片存到本地磁盘,数据存为json格式,方便在网页应用中直接使用. 2.网页应用,使用dota英雄数据.自己编写的小伙

python实现图片爬虫

#encoding:utf-8 import sys reload(sys) sys.setdefaultencoding('utf8') from sgmllib import SGMLParser import re import urllib class URLLister(SGMLParser): def start_a(self, attrs): url = [v for k, v in attrs if k=='href'] if url : urll = url[0] else :

Python Scrapy 自动爬虫注意细节

一.首次爬取模拟浏览器 在爬虫文件中,添加start_request函数.如: def start_requests(self): ua = {"User-Agent": 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.2050.400 QQBrowser/9.5.10169.400'} yie

Python 开发轻量级爬虫02

Python 开发轻量级爬虫 (imooc总结02--爬虫简介) 爬虫简介 首先爬虫是什么?它是一段自动抓取互联网信息的程序. 什么意思呢? 互联网由各种各样的的网页组成,每一个网页都有对应的url,而url页面上又有很多指向其它页面的url,这些url之间相互指向的关系, 就形成了一个网状,这就是互联网. 正常情况下,我们使用人工的方式,从互联网上获取我们需要的感兴趣的信息.那有没有一种方法,我们设定了一个主题,设定一个感兴趣的目标, 可以自动从互联网上获取我们所需要的数据呢?这就是爬虫. 爬

Python 开发轻量级爬虫03

Python 开发轻量级爬虫 (imooc总结03--简单的爬虫架构) 现在来看一下一个简单的爬虫架构. 要实现一个简单的爬虫,有哪些方面需要考虑呢? 首先需要一个爬虫调度端,来启动爬虫.停止爬虫.监视爬虫的运行情况. 在爬虫程序中有三个模块.首先url管理器来对将要爬取的url和已经爬取过的url这两个数据的进行管理. 从url管理器中取出一个待爬取的url将其传送给网页下载器,下载器将指定的网页下载下来存储成一个字符串,这个字符串会传送给网页解析器进行解析, 一方面会解析出有价值的数据,另一