爬虫作业_

1、请你利用所学知识完成任意网站的爬虫操作

import urllib.request
response = urllib.request.urlopen('http://www.baidu.com/')
res = response.read()
print(res)

2、请你利用所学知识完成任意网站的爬虫操作,要求涉及用户输入及编码转换要求涉及User-agent头部信息的拼接,头部信息可用User-agent:"mozilia”代替

import urllib.request
head={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0'}
url='https://www.baidu.com/'
new_url=urllib.request.Request(url=url,headers=head)
response=urllib.request.urlopen(new_url,timeout=10)
res=response.read().decode('utf-8')
print(res)

3、请你利用xpath完成大案例的解析

要求:定义类及函数
首先完成当前页的爬取;其次对当前页进行解析 解析提取当前页的标题和标题对应的url地址然后解析提取下一页的url地址,并对标题和标题对应的url地址进行保存操作
根据下一页的url地址继续爬取,继续进行以上步骤

import urllib.parse
import urllib.request

from pip._internal import req  # 这个导入看起来没有实际使用,可以考虑删除

print('')


class BaiduTiebaspider:
    def __init__(self):  # 初始化函数:放一些初始化的量
        # 头部信息 url的结构
        self.header = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'}
        self.url = 'https://tieba.baidu.com/f?kw={}&pn={}'

    def get_html(self, url):  # 发送请求 获取响应
        request = urllib.request.Request(url=url, headers=self.header)
        res = urllib.request.urlopen(request)
        html = res.read().decode()
        return html

    def parse_html(self):  # 解析
        pass

    def save_html(self, filename, html):  # 保存
        with open(filename, 'w', encoding='utf-8') as f:
            f.write(html)

    def run(self):  # 控制函数的整体运行
        name = input('请你输入要抓取的名称:')  # 李健
        params = urllib.parse.quote(name)  # %%%%%%%%
        start = int(input('请你输入起始页:'))  # 1
        end = int(input('请你输入终止页:'))  # 10
        for page in range(start, end + 1):  # page=1
            pn = (page - 1) * 50  # pn=0
            url = self.url.format(params, pn)
            html = self.get_html(url)
            filename = '{}_第{}页.html'.format(name, page)
            self.save_html(filename, html)


if __name__ == '__main__':
    spider = BaiduTiebaspider()
    spider.run()

4、利用jsonpath对任意网站内容解析,并提取内容

5、利用正则表达式进行解 需利用re模块

6、利用beautifulsoup完成数据解析

7、scrapy框架的理论知识 三点

8、利用scrapy框架对任意网站实现爬取及解析操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值