大数据分析综合实习day06

爬虫步骤:

1.确定url地址

2.发送请求,获取响应

3.从响应对象中获取响应体中的数据

案例:爬取百度网页 ,并生成HTML文件

rt_01_爬取百度网页.py

# 可以借助urllib3 或者 requests库爬取网页
import urllib.request
# 爬取百度网页
# 导入urllib3模块

# 1.确定url地址
url = "http://www.baidu.com"
# 2.发送请求,获取响应
# 获取请求对象
request = urllib.request.Request(url)
# 借助请求对象发送请求
response = urllib.request.urlopen(request)
# print(response)
# 从响应对象中获取响应体中的数据
html = response.read()
print(html.decode("utf-8"))

# 把爬取到的html文件内容写入到文件
with open("baidu.html",mode="wb") as file:
    file.write(html)

输出:

 

案例:爬取大众点评网页,并生成HTML文件

 rt_02_requests爬取网页.py

# 借助requests爬取网页
import requests

# 爬取大众点评
# 1.确定爬取数据的url地址
url = "http://www.dianping.com"
# 2.借助requests发送请求,获取响应
response = requests.get(url)
print(response)
print(response.url)
print(response.status_code)
print(response.encoding)

# 获取响应体中的数据
html = response.content
html = response.text
print(html)

# 将数据写入到文件
with open("dianping.html",mode="w",encoding="utf-8") as file:
    file.write(html)

 输出:

案例:简单爬取北京新冠疫情信息

rt_03_网页数据的分析.py

步骤:

1.确定爬取网页url地址

2.在请求头中设置User-Agent,伪装自己的爬虫程序,把自己的爬虫程序伪装成一个浏览器访问的过程

3.发送请求,获取响应

4.解析页面内容,借助bs4库来实现

5.获取整个页面中的a标签

6.打印输出

# 网页数据的解析
import requests
from bs4 import BeautifulSoup



# 确定爬取数据的url地址
url = "http://wjw.beijing.gov.cn/wjwh/ztzl/xxgzbd/gzbdyqtb/"

# 在请求头中设置User-Agent,伪装自己的爬虫程序,把自己的爬虫程序伪装成一个浏览器访问的过程
# Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"
}


# 发生请求,获取响应
response = requests.get(url,headers=headers)
print(response)
html = response.text
# print(html)


# 解析页面内容,借助bs4库来解析:pip install --user bs4
bs = BeautifulSoup(html)
# 获取整个页面中所有的a标签
content = bs.find_all(name="a",attrs={"target":"_blank"})
print(content)

for item in content:
    print(item.text)

输出:

 案例:爬取动态数据,以豆瓣网为例

rt_04_网页中动态加载数据的爬取.py

步骤:

1.确定爬取数据的url地址

2.创建浏览器对象

3.发生请求,获取响应

4.获取页面内容

5.解析有关电影的数据

from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
import time

# 豆瓣电影网页的数据是动态加载
# 需要借助自动化测试工具:借助selenium


# 1.确定爬取数据的url地址
url = "https://movie.douban.com/typerank?type_name=%E5%96%9C%E5%89%A7&type=24&interval_id=100:90&action="

# 2.创建浏览器对象
browser = Chrome()
# 3.发生请求,获取响应
browser.get(url)
# 4.获取页面内容
html = browser.page_source
print(html)
# 5.解析有关电影的数据
# //*[@id="content"]/div/div[1]/div[6]/div[1]/div/div/div[1]/span[1]/a
# 休眠一下
time.sleep(1)
content = browser.find_elements(by=By.XPATH, value='//*[@id="content"]/div/div[1]/div[6]/div/div/div/div[1]/span[1]/a')
print(content)

for item in content:
    print(item.text)

输出:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值