Python-S9-Day122-Python爬虫

  • 11 初识爬虫

11 初识爬虫

12 今日作业

11.1 初识黄页;

11.2 互联网就是一张大的蜘蛛网;

  网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫

11.3 自动爬取想要得到的文章;

11.4 资讯网站,抽屉新热榜,今日头条,易车网,爱卡网等数据来源,进行爬取,然后在自家网站呈现;

11.5 爬取汽车之家的首页的新闻文章、标题以及图片等内容; 

import requests
from bs4 import BeautifulSoup

# 汽车之家使用的是GBK编码:
response = requests.get("https://www.autohome.com.cn/news/")
# response  = requests.get("https://www.jd.com/")
response.encoding = "gbk"
# print(response.text)

# find方法找到与之相匹配的第一个标签;
soup = BeautifulSoup(response.text, "html.parser")
div = soup.find(name='div', attrs={'id': 'auto-channel-lazyload-article'})
# print(div)

li_list = div.find_all(name='li')
for li in li_list:
    # print("汽车之家的li标签!",li)
    title = li.find(name="h3")
    if not title:
        continue
    # print(title)
    p = li.find(name='p')
    a = li.find(name='a')
    print(title.text)
    url = "https:" + a.attrs.get('href')
    print("文章的URL地址:", url)
    # print('https:'+a.attrs.get('href'))
    print(p.text)
    img = li.find(name='img')
    src = "https:" + img.get('src')
    print("图片的URL地址:", src)
    # 再次发起请求,下载图片;
    file_name = src.rsplit('/', maxsplit=1)[1]
    ret = requests.get(src)
    with open(file_name, 'wb') as f:
        f.write(ret.content)

11.6 通过代码伪造请求,伪装浏览器,进行页面的爬取;

  • requests,伪造浏览器发起http请求;

  • bs4,将html格式的字符串解析成对象,对象.find/find_all方法的使用; 

12 今日作业

12.1 Flask程序实现爬虫采集以展示;

12.2 功能:

  • Flask目录结构;
  • SQLAchemy存储数据;

12.3 页面

  • 数据框:https://www.autohome.com.cn/news/
原文地址:https://www.cnblogs.com/tqtl911/p/9614546.html