这一个爬取的网站是糗事百科的页面去所有标题!最后是以打印的方式展示的!
这是第一篇文章,就是正常的爬取。一共是有三个版本,我一共会发三篇文章!html
第一篇:本篇,正常爬取 糗事百科所有标题
第二篇:下篇,多线程的爬取糗事百科所有标题
第三篇:后篇,多进程的爬取糗事百科所有标题python
# 操做系统:win10 专业版 pycharm professional 2019.1 python 3.8 lxml == 4.5.1 requests == 2.23.0 xpath == 2.0.2
糗事百科的页面所有标题!最后以打印的方式展示!
地址:web
# 页面一共是1-13页 https://www.qiushibaike.com/8hr/page/1/ ...... https://www.qiushibaike.com/8hr/page/13/
图片中的数据就是咱们须要获取的。用xpath这一个获取到了所有咱们须要的!
对于url地址就是1----13这一个简单处理,其余都是简单的爬虫流程,再也不赘述!具体看代码的注释吧!
再看一哈思路!多线程
“”"
思路:
1.构建url地址
2.发送请求获取数据
3.从响应中提取数据
4.保存数据
“”"svg
咱们直接写代码了!学习
import requests from lxml import etree """ 思路: 1.构建url地址 2.发送请求获取数据 3.从响应中提取数据 4.保存数据 """ class Qiushi(): """糗事百科单线程爬虫""" def __init__(self): # 初始化信息 # 构建请求头 self.headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36" } # 构建基础的url地址 self.baseutl= 'https://www.qiushibaike.com/8hr/page/{}/' # 构建url地址 def get_utls(self): """ :return: 目标url列表 """ # 一共13页 url_list = [self.baseutl.format(urlpage) for urlpage in range(1,14)] return url_list # 发送请求,得到响应数据 def get_html(self,url): """ :param url: 目标url地址 :return: 响应html数据 """ response = requests.get(url=url,headers=self.headers) return response.content.decode() # 从响应中获取数据 def get_content(self,response): """ :param html: html数据 :return: 标题列表 """ # 1.建立etree对象 html = etree.HTML(response) # 2.使用xpath规则提取数据 res_list = html.xpath("//li//a[@class='recmd-content']/text()") return res_list # 保存数据 def save(self,restitle): for item in restitle: print(item) # print(restitle) # 执行程序 def run(self): # 1.获取url地址 url_list = self.get_utls() for url in url_list: # 2.发送请求 response = self.get_html(url) # 3.提取响应中的内容 restitle = self.get_content(response) # 4.保存数据 self.save(restitle) # print(restitle) if __name__ == '__main__': # 建立对象 obj1 = Qiushi() # 执行run()方法 obj1.run()
最后获取的信息是以打印的方式展示的!网站
我的记录,新手入门,多多学习,欢迎你们交流探讨!
我的网站: http://106.54.78.238/
song_of _sea的我的网站 http://106.54.78.238/ui