【python爬虫】给你分享几个日常生活中可以用到的爬虫小程序

这篇具有很好参考价值的文章主要介绍了【python爬虫】给你分享几个日常生活中可以用到的爬虫小程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在这篇文章中,我们将分享7个Python爬虫的小案例,帮助大家更好地学习和了解Python爬虫的基础知识。以下是每个案例的简介和源代码:

1. 爬取豆瓣电影Top250

这个案例使用BeautifulSoup库爬取豆瓣电影Top250的电影名称、评分和评价人数等信息,并将这些信息保存到CSV文件中。

import requests
from bs4 import BeautifulSoup
import csv
 
# 请求URL
url = '<https://movie.douban.com/top250>'
# 请求头部
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
 
# 解析页面函数
def parse_html(html):
    soup = BeautifulSoup(html, 'lxml')
    movie_list = soup.find('ol', class_='grid_view').find_all('li')
    for movie in movie_list:
        title = movie.find('div', class_='hd').find('span', class_='title').get_text()
        rating_num = movie.find('div', class_='star').find('span', class_='rating_num').get_text()
        comment_num = movie.find('div', class_='star').find_all('span')[-1].get_text()
        writer.writerow([title, rating_num, comment_num])
 
# 保存数据函数
def save_data():
    f = open('douban_movie_top250.csv', 'a', newline='', encoding='utf-8-sig')
    global writer
    writer = csv.writer(f)
    writer.writerow(['电影名称', '评分', '评价人数'])
    for i in range(10):
        url = '<https://movie.douban.com/top250?start=>' + str(i*25) + '&filter='
        response = requests.get(url, headers=headers)
        parse_html(response.text)
    f.close()
 
if __name__ == '__main__':
    save_data()
 

2. 爬取猫眼电影Top100

这个案例使用正则表达式和requests库爬取猫眼电影Top100的电影名称、主演和上映时间等信息,并将这些信息保存到TXT文件中。

import requests
import re
 
# 请求URL
url = '<https://maoyan.com/board/4>'
# 请求头部
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
 
# 解析页面函数
def parse_html(html):
    pattern = re.compile('<p class="name"><a href=".*?" title="(.*?)" data-act="boarditem-click" data-val="{movieId:\\\\d+}">(.*?)</a></p>.*?<p class="star">(.*?)</p>.*?<p class="releasetime">(.*?)</p>', re.S)
    items = re.findall(pattern, html)
    for item in items:
        yield {
            '电影名称': item[1],
            '主演': item[2].strip(),
            '上映时间': item[3]
        }
 
# 保存数据函数
def save_data():
    f = open('maoyan_top100.txt', 'w', encoding='utf-8')
    for i in range(10):
        url = '<https://maoyan.com/board/4?offset=>' + str(i*10)
        response = requests.get(url, headers=headers)
        for item in parse_html(response.text):
            f.write(str(item) + '\\\\n')
    f.close()
 
if __name__ == '__main__':
    save_data()
 

3. 爬取全国高校名单

这个案例使用正则表达式和requests库爬取全国高校名单,并将这些信息保存到TXT文件中。

import requests
import re
 
# 请求URL
url = '<http://www.zuihaodaxue.com/zuihaodaxuepaiming2019.html>'
# 请求头部
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
 
# 解析页面函数
def parse_html(html):
    pattern = re.compile('<tr class="alt">.*?<td>(.*?)</td>.*?<td><div align="left">.*?<a href="(.*?)" target="_blank">(.*?)</a></div></td>.*?<td>(.*?)</td>.*?<td>(.*?)</td>.*?</tr>', re.S)
    items = re.findall(pattern, html)
    for item in items:
        yield {
            '排名': item[0],
            '学校名称': item[2],
            '省市': item[3],
            '总分': item[4]
        }
 
# 保存数据函数
def save_data():
    f = open('university_top100.txt', 'w', encoding='utf-8')
    response = requests.get(url, headers=headers)
    for item in parse_html(response.text):
        f.write(str(item) + '\\\\n')
    f.close()
 
if __name__ == '__main__':
    save_data()
 

4. 爬取中国天气网城市天气

这个案例使用xpath和requests库爬取中国天气网的城市天气,并将这些信息保存到CSV文件中。

import requests
from lxml import etree
import csv
 
# 请求URL
url = '<http://www.weather.com.cn/weather1d/101010100.shtml>'
# 请求头部
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
 
# 解析页面函数
def parse_html(html):
    selector = etree.HTML(html)
    city = selector.xpath('//*[@id="around"]/div/div[1]/div[1]/h1/text()')[0]
    temperature = selector.xpath('//*[@id="around"]/div/div[1]/div[1]/p/i/text()')[0]
    weather = selector.xpath('//*[@id="around"]/div/div[1]/div[1]/p/@title')[0]
    wind = selector.xpath('//*[@id="around"]/div/div[1]/div[1]/p/span/text()')[0]
    return city, temperature, weather, wind
 
# 保存数据函数
def save_data():
    f = open('beijing_weather.csv', 'w', newline='', encoding='utf-8-sig')
    writer = csv.writer(f)
    writer.writerow(['城市', '温度', '天气', '风力'])
    for i in range(10):
        response = requests.get(url, headers=headers)
        city, temperature, weather, wind = parse_html(response.text)
        writer.writerow([city, temperature, weather, wind])
    f.close()
 
if __name__ == '__main__':
    save_data()
 

5. 爬取当当网图书信息

这个案例使用xpath和requests库爬取当当网图书信息,并将这些信息保存到CSV文件中。

import requests
from lxml import etree
import csv
 
# 请求URL
url = '<http://search.dangdang.com/?key=Python&act=input>'
# 请求头部
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
 
# 解析页面函数
def parse_html(html):
    selector = etree.HTML(html)
    book_list = selector.xpath('//*[@id="search_nature_rg"]/ul/li')
    for book in book_list:
        title = book.xpath('a/@title')[0]
        link = book.xpath('a/@href')[0]
        price = book.xpath('p[@class="price"]/span[@class="search_now_price"]/text()')[0]
        author = book.xpath('p[@class="search_book_author"]/span[1]/a/@title')[0]
        publish_date = book.xpath('p[@class="search_book_author"]/span[2]/text()')[0]
        publisher = book.xpath('p[@class="search_book_author"]/span[3]/a/@title')[0]
        yield {
            '书名': title,
            '链接': link,
            '价格': price,
            '作者': author,
            '出版日期': publish_date,
            '出版社': publisher
        }
 
# 保存数据函数
def save_data():
    f = open('dangdang_books.csv', 'w', newline='', encoding='utf-8-sig')
    writer = csv.writer(f)
    writer.writerow(['书名', '链接', '价格', '作者', '出版日期', '出版社'])
    response = requests.get(url, headers=headers)
    for item in parse_html(response.text):
        writer.writerow(item.values())
    f.close()
 
if __name__ == '__main__':
    save_data()
 

6. 爬取糗事百科段子

这个案例使用xpath和requests库爬取糗事百科的段子,并将这些信息保存到TXT文件中。

import requests
from lxml import etree
 
# 请求URL
url = '<https://www.qiushibaike.com/text/>'
# 请求头部
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
 
# 解析页面函数
def parse_html(html):
    selector = etree.HTML(html)
    content_list = selector.xpath('//div[@class="content"]/span/text()')
    for content in content_list:
        yield content
 
# 保存数据函数
def save_data():
    f = open('qiushibaike_jokes.txt', 'w', encoding='utf-8')
    for i in range(3):
        url = '<https://www.qiushibaike.com/text/page/>' + str(i+1) + '/'
        response = requests.get(url, headers=headers)
        for content in parse_html(response.text):
            f.write(content + '\\\\n')
    f.close()
 
if __name__ == '__main__':
    save_data()
 

7. 爬取新浪微博

这个案例使用selenium和requests库爬取新浪微博,并将这些信息保存到TXT文件中。

import time
from selenium import webdriver
import requests
 
# 请求URL
url = '<https://weibo.com/>'
# 请求头部
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
 
# 解析页面函数
def parse_html(html):
    print(html)
 
# 保存数据函数
def save_data():
    f = open('weibo.txt', 'w', encoding='utf-8')
    browser = webdriver.Chrome()
    browser.get(url)
    time.sleep(10)
    browser.find_element_by_name('username').send_keys('username')
    browser.find_element_by_name('password').send_keys('password')
    browser.find_element_by_class_name('W_btn_a').click()
    time.sleep(10)
    response = requests.get(url, headers=headers, cookies=browser.get_cookies())
    parse_html(response.text)
    browser.close()
    f.close()
 
if __name__ == '__main__':
    save_data()
 

关于Python的技术储备

在这里给大家分享一些免费的课程供大家学习,下面是课程里面的截图,扫描最下方的二维码就能全部领取
【python爬虫】给你分享几个日常生活中可以用到的爬虫小程序,python,爬虫,小程序

1.Python所有方向的学习路线

【python爬虫】给你分享几个日常生活中可以用到的爬虫小程序,python,爬虫,小程序

2.学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
【python爬虫】给你分享几个日常生活中可以用到的爬虫小程序,python,爬虫,小程序

3.学习资料

【python爬虫】给你分享几个日常生活中可以用到的爬虫小程序,python,爬虫,小程序

4.实战资料

实践是检验真理的唯一标准。这里的压缩包可以让你再闲暇之余帮你提升你的个人能力。
【python爬虫】给你分享几个日常生活中可以用到的爬虫小程序,python,爬虫,小程序

5.视频课程

【python爬虫】给你分享几个日常生活中可以用到的爬虫小程序,python,爬虫,小程序

好啦今天的分享就到这里结束了,快乐的时光总是短暂呢,想学习更多课程的小伙伴不要着急,有更多惊喜哦~

【python爬虫】给你分享几个日常生活中可以用到的爬虫小程序,python,爬虫,小程序文章来源地址https://www.toymoban.com/news/detail-744932.html

到了这里,关于【python爬虫】给你分享几个日常生活中可以用到的爬虫小程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ai绘画图片网站哪个好?这几个好用的ai绘画图片网站分享给你

    近期我的朋友公司给它安排了一项艰巨的任务,公司给了他一堆图片,然后要求他根据这些图片生成一些风格类似却又独具特色的优质图片,这可难倒他了,他在机缘巧合的情况下得知了有ai绘画图片生成图片的技术,但它不知道怎么ai绘画图片生成图片。于是,前几天他突然

    2024年02月13日
    浏览(59)
  • 原型图都可以用什么软件做?分享这9款给你

    设计师在进行原型设计师时,会使用原型图软件,从产生想法到向开发人员提交项目。无论是构建基本线框还是功能齐全的原型,原型图软件都可以为你节省大量的时间和精力。 如果你是这个领域的新手或者想更新你的原型图软件包, 请快速看一下这9个原型图软件的分享

    2024年02月10日
    浏览(49)
  • 分享几个可以免费使用GPT工具

    1. 国产可以使用GPT3.5和4.0的网站,每日有大量免费的使用额度,响应速度,注册时不用使用手机号,等个人信息,注重用户隐私,好评,重点是没有充值入口哦! 还有好多有用的功能:midjourney绘画 ,DALLE.3 绘画,AI识图,AI联网,PDF分析.... 点击直达:一个好用的ChatGPT系统

    2024年01月17日
    浏览(38)
  • 分享几个可以免费使用GPT的网站

    ChatGPT这个是国产的,里面可以使用3.5和4.0,免费用户每日都有大量的使用次数,反应迅速,重点是没有充值入口哦! 还有好多有用的功能:midjourney绘画 ,DALLE.3 绘画,AI识图,AI联网,PDF分析… 可以免费体验!!!工作,学习,写论文,写文案必备 ChatGPT DALL-E3绘画 ↓ ↓ ↓

    2024年02月05日
    浏览(96)
  • 外企面试日常生活常见口语23

    因为经常在外企工作难免会要使用英语和上级领导尤其是在会议开会的时候,所以英语的学习尤为重要,是在软件方面加分项  I’d rather have some tea, if you don’t mind. 如果你不介意的话,请给我来杯茶。 Do you know any of those people? 你认识这些人吗? Two or three of them look familiar. 我和其

    2024年02月16日
    浏览(38)
  • 外企面试日常生活常见口语22

    因为经常在外企工作难免会要使用英语和上级领导尤其是在会议开会的时候,所以英语的学习尤为重要,是在软件方面加分项 What do you want? 你想要些什么? 152. I want a cup of coffee. 我想来杯咖啡。 153. What would you like to eat? 你想吃些什么? 154. Please give me a piece of pie.请给我来片馅饼。

    2024年02月15日
    浏览(47)
  • 平板电脑也可以学python吗?10 个Python 编辑器,,让编程更贴近生活~

    本文介绍 10 个可在 iOS 或 Android 平板电脑上的 Python 编程环境。 Python 开发者可通过这些工具实现随时随地编码,蛋疼抑或爽极? Python 声称将实现 “在你的iPad或iPhone实现Python的禅“ ,不到比萨的价格你就可以购买的 Pythonista 并开始编码。 这对新手也很有用,如果你不是一个

    2024年02月11日
    浏览(57)
  • 微信小程序制作日常生活首页

    这里有源代码+图片 CSDN社区地址直达:http://t.csdn.cn/NEeOT 不知道为啥上传后是如此的高糊画质(手机画质很好) 微信小程序日常生活首页手机效果演示 1、需要配置导航栏的效果(在app.json中进行配置 在windows中配置) 2、配置tabBar效果(在app.json中进行配置、需要额外增加tabBar)

    2024年02月10日
    浏览(66)
  • 区块链技术在日常生活有那些影响?

    区块链首先是一种社会思潮。它预示着人类社会转型、换代的新时代的到来。区块链的技术基础是分布式网络架构,正是因为分布式网络技术的成熟,去中心、弱中心、分中心及共享、共识、共担的组织架构、商业架构和社会架构才有可能有效建立起来。大概就是从工程技术

    2023年04月17日
    浏览(77)
  • 【Python爬虫框架】这5个Python爬虫框架你用过几个?最后一个秒杀全部

    Python语言拥有丰富的第三方库,使得Python成为了最流行的爬虫语言之一。而Python的爬虫框架更是让Python爬虫开发更加高效。在这篇文章中,我们将探讨5个最常见的Python爬虫框架,并分析它们的优缺点,帮助你更好地选择合适的框架。 Scrapy是Python爬虫领域最著名的框架之一。

    2024年02月08日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包