关键词搜索

源码搜索 ×
×

DHCP最佳实践(三)

发布2021-01-20浏览288次

详情内容

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

作者: IT共享者

来源:IT共享之家

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

https://www.xin3721.com/eschool/pythonxin3721/

一、前言
上道网是一个手游发行推荐与投融资交易平台。平台聚集手游CP、手游发行、手游渠道、手游外包,投资商以及IP授权商,IP合作、一站式服务。并为之提供合作交易机会。

今天教如何去爬取上道网的赞助公司名称,方便有关人士投资。

在这里插入图片描述

二、实现目标
获取对应的公司名称,保存文档。

三、项目准备
软件:PyCharm

需要的库:requests,fake_useragent,time

网址:http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-{}.html

四、项目分析
如何网页访问?

http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-1.html
http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-2.html
http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-3.html
http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-4.html

点击下一页时,每增加一页p-{}.html自增加1,用{}代替变换的变量,再用for循环遍历这网址,实现多个网址请求。

五、项目实现

  1. 定义一个class类继承object,定义init方法继承self,主函数main继承self。导入需要的库、请求地址。
import requests
from lxml import etree
from fake_useragent import UserAgent
import time


class Shangdao(object):
    def __init__(self):
        self.url = "http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-{}.html"  #网站
    def main(self):
        pass


if __name__ == '__main__':
    Siper = Shangdao()
    Siper.main()
    1. 随机产生UserAgent,防止反爬。
    for i in range(1, 50):
                self.headers = {
                    'User-Agent': ua.random,
                }
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 发送请求 获取响应, 页面回调,方便下次请求。
       def get_page(self, url):
            res = requests.get(url=url, headers=self.headers)
            html = res.content.decode("utf-8")
            return html
    
    • 1
    • 2
    • 3
    • 4
    1. 获取公司名称,for遍历。
       def page_page(self, html):
            parse_html = etree.HTML(html)
            one = parse_html.xpath('//h2/a/text()')
            for i in one:
                print(i)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 写入文档。

          f = open('公司.doc', 'a', encoding='utf-8')  # 以'w'方式打开文件
           f.write(str(i))
      
      • 1
      • 2
    2. 调用方法,实现功能。

       def main(self):
            stat = int(input("输 入 开 始 (2开始):"))
            end = int(input("输 入 结 束:"))
            for page in range(stat, end + 1):
                url = self.url.format(page)
                print(url)
                html = self.get_page(url)
                self.page_page(html)
                print("==================第%s页爬取成功!!!!=====================" % page)
    
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    项目优化:

    设置时间延时。

    time.sleep(1.4)

    六、效果展示
    点击绿色小三角运行输入python基础教程起始页,终止页( 从0页开始 )。

    在这里插入图片描述

    渠道公司名,结果显示控制台。

    在这里插入图片描述

    保存文档。

    在这里插入图片描述

    七、总结

    1. 不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。

    2. 希望通过这个项目,能够帮助了解xpath解析页c#教程面的基本流程,字符串是如何拼接,format函数如何运用。

    3. 本文基于Python网络爬虫,利用爬vb.net教程
      虫库,实现爬取上道网,但是到自己动手实现的时候,

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载