python抓取网页数据(提取网页内容的几种方法有哪些?提取网页编码的方法)

优采云 发布时间: 2022-01-10 11:06

  python抓取网页数据(提取网页内容的几种方法有哪些?提取网页编码的方法)

  爬虫的第一步一定是获取网页的代码。以下是自己整理的三种方式,希望对以后学习的同学有所帮助。 (1)urllib.request 获取网页代码

  #d导入所需要的模块

import urllib

from urllib import request

import random

# 准备一个地址

url = 'http://www.taobao.com'

# 包装成一个请求用myrequest 变量接受

myrequest = request.Request(url)

# 增加浏览器头部

user_agent = [

"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50"...

]

myrequest.add_header('User_Agent',random.choice(user_agent))

# 增加代理ip

proxies = [

'61.135.217.7:80',

'118.190.95.35:9001',

'118.190.210.227:3128',

'118.190.199.55:80'

]

# 固定写法

proxy_support = urllib.request.ProxyHandler({'http': random.choice(proxies)})

opener = request.build_opener(proxy_support)

request.install_opener(opener)

# 访问地址,使用变量存储一下

result = request.urlopen(myrequest)

# 读取结果并解码

print(result.read().decode('utf-8'))

  (2)请求获取正确的页面编码

  import requests

#准备一个url

import random

import chardet

url = 'http://www.baidu.com/'

#设置浏览器头部

user_agent = [

"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",

]

#添加代理ip

ips = [

{'https':'180.96.63.186:9087','http':'118.190.95.35:9001'}

]

response = requests.get(url)

#response.text 文本内容

#response.content 字节流

#获取编码

code = chardet.detect(response.content)

print('网页编码是:', code)

#解码

response.encoding = code

print(response.text)

  (3)selenium 获取网页代码

  from selenium import webdriver

#相当于打开一个浏览器

browser = webdriver.Chrome()

#准备一个网址

url = 'https://music.163.com/#/discover/toplist'

#打开网址获取网页编码

browser.get(url)

  得到网页的编码后,我们就可以从网页中提取出我们需要的内容了。下一章会介绍几种提取网页内容的方法

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线