当前位置:   article > 正文

python爬虫获取网页数据,python爬取本地网页数据_python爬虫域名

python爬虫域名

大家好,给大家分享一下利用python爬取简单网页数据步骤,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

爬虫是Python语言最基本的用法之一,爬虫的前提就是数据请求,数据请求方法就urlopen和requests这两种比较常用,而两种方法大同小异,具体我们通过代码来看看

urlopen方法

urlopen分为两种情况:

一:请求网址中没有中文

from urllib.request import Request,urlopen

def url_urlopen(self):

url='https://blog.csdn.net/'

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'

}

request=Request(url,headers=headers)

response=urlopen(request)

code=response.read().decode()

print(code)

二:请求网址中有中文,需要对网址进行解析

from urllib.request import Request,urlopen

from urllib.parse import quote

import string

def url_urlopen(self):

url='https://www.sojson.com/open/api/weather/xml.shtml?city=郑州'

response=urlopen(quote(url,safe=string.printable))

code=response.read().decode()

print(code)

requests方法

request方法没有对网址的要求,相对于urlopen比较简单

import requests

def url_requests(cls):

url='https://blog.csdn.net/'

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'

}

code=requests.get(url,headers=headers).content.decode()

print(code)

请求方法进阶

上面这两种方法不支持修改ip,获取cookie,验证代理等内容

如果要使用这些内容,需要使用build_opener来进行处理

(1)修改IP

1.导入相关第三方库

import random

from urllib.request import Request,urlopen,ProxyHandler,bulid_opener

2.准备一些IP(注意域名),并设置headers

ip_list=[

'255.255.255.99:99',

'255.255.254.99:99',

'255.255.253.99:99',

'255.255.252.99:99',

]

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'

}

3.请求网址并随机一个ip

如果域名是http,则key值为http

如果域名是https,则key值为https

proxy={ 'http':random.choice(ip_list)}

request=Request('http://www.baidu.com',headers=headers)

4.利用build_operner来使用替换ip(重点)

proxy_handler=ProxyHandler(proxy)

opener=build_opener(proxy_handler)

response=opener.open(request)

code=response.read().decode()

print(code)

(2)获取cookie

1.导入相关第三方库

from http.cookiejar import CookieJar

from urllib.request import Request,urlopen,HTTPCookieProcessor,build_opener

2.创建一个管理cookie的对象并使用获取到的cookie进行访问

cookie_obj=CookieJar()

cookie_handler=HTTPCookieProcessor(cookie_obj)

opener=build_opener(cookie_handler)

response=opener.open('http://www.neihanshequ.com')

code=response.read().decode()

print(code)

关于数据请求就说到这里吧,学会后爬取静态数据基本上没什么问题了,爬取动态数据之后再说

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树网络爬虫urllib419678 人正在系统学习中
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/599513
推荐阅读
相关标签
  

闽ICP备14008679号