如何用Python爬取上道网的赞助公司名称?

Python进阶学习交流

    一、前言
    上道网是一个手游发行推荐与投融资交易平台。平台聚集手游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 requestsfrom lxml import etreefrom fake_useragent import UserAgentimport 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()2. 随机产生UserAgent,防止反爬。for i in range(1, 50):            self.headers = {                'User-Agent': ua.random,            }3. 发送请求  获取响应, 页面回调,方便下次请求。
       def get_page(self, url):        res = requests.get(url=url, headers=self.headers)        html = res.content.decode("utf-8")        return html4. 获取公司名称,for遍历。
       def page_page(self, html):        parse_html = etree.HTML(html)        one = parse_html.xpath('//h2/a/text()')        for i in one:            print(i)5. 写入文档。
               f = open('公司.doc', 'a', encoding='utf-8')  # 以'w'方式打开文件            f.write(str(i))6. 调用方法,实现功能。
       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. 设置时间延时。time.sleep(1.4)
    六、效果展示
    点击绿色小三角运行输入起始页,终止页(  从0页开始 )。
    
    渠道公司名,结果显示控制台。
    
    保存文档。
    
    七、总结
    1. 不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。2. 希望通过这个项目,能够帮助了解xpath解析页面的基本流程,字符串是如何拼接,format函数如何运用。3. 本文基于Python网络爬虫,利用爬虫库,实现爬取上道网,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。