php 抓取网页生成图片(Python应用最多的场景还是web快速开发、爬虫运维)
优采云 发布时间: 2022-01-13 06:02php 抓取网页生成图片(Python应用最多的场景还是web快速开发、爬虫运维)
Python最广泛使用的场景是快速Web开发、爬取和自动化运维。
爬虫在开发过程中也有很多复用过程,这里总结一下。
1、基本网页抓取
获取方法
import urllib2
url = "http://www.1668s.com"
response = urllib2.urlopen(url)
print(response.read())
发帖方式
import urllib
import urllib2
url = "http://1668s.com"
form = { name : abc , password : 1234 }
form_data = urllib.urlencode(form)
request = urllib2.Request(url,form_data)
response = urllib2.urlopen(request)
print(response.read())
2、使用代理IP
在开发爬虫的过程中,经常会遇到IP被屏蔽,这时需要使用代理IP;
urllib2包中有一个ProxyHandler类,通过它可以设置代理访问网页:
3、Cookie 处理
Cookies 是存储在用户本地终端上的一些网站 数据(通常是加密的),用于识别用户的身份并执行会话跟踪。 Python 提供了 cookielib 模块来处理 cookie。 cookielib 模块的主要功能是一个对象,它提供了一个可以存储的 cookie,供 urllib2 模块使用以访问 Internet 资源。
import urllib
from http import cookiejar
cookie_support= urllib2.HTTPCookieProcessor(cookielib.CookieJar())
opener = urllib2.build_opener(cookie_support)
urllib2.install_opener(opener)
content = urllib2.urlopen( http://1668s.com).read()
#关键在于CookieJar(),它用于管理HTTP cookie值、
#存储HTTP请求生成的cookie、向传出的HTTP请求添加cookie的对象。
#整个cookie都存储在内存中,对CookieJar实例进行垃圾回收后cookie也将丢失,所有过程都不需要单独去操作。
#手动添加cookie
cookie = "PHPSESSID=91rurfqm2329bopnosfu4fvmu7; kmsign=55d2c12c9b1e3; KMUID=b6Ejc1XSwPq9o756AxnBAg="
request.add_header("Cookie", cookie)
4、伪装成浏览器
有些网站对爬虫的访问感到反感,所以都拒绝爬虫的请求。所以使用urllib2直接访问网站HTTP Error 403: Forbidden经常出现
特别注意一些headers,服务器会检查这些headers
User-Agent 有些服务器或者代理会检查这个值来判断是否是浏览器发起的RequestContent-Type。使用 REST 接口时,服务器会检查这个值来决定如何解析 HTTP Body 中的内容。