基础爬虫记~豆瓣+东方财富网爬虫

本文适合爬虫初学者,介绍了如何使用Python爬取豆瓣Top250电影信息和东方财富网数据。通过模拟浏览器请求,利用BeautifulSoup解析网页,将数据保存至Excel或MySQL。同时分享了正则表达式、处理不规则数据的方法,以及应对IP被禁和数据库连接问题的小技巧。
摘要由CSDN通过智能技术生成

基础小白,大佬轻点喷~

一、基础豆瓣爬虫

1、首先在某站上听讲解,简单建立起了对爬虫的基础框架,具体包括五个板块(当然 有些东西看个人 可写成函数 也可以直接写 但重复用到的东西建议写函数)

用到了下面五个库:

from bs4 import BeautifulSoup      ##网页解析,获取数据
import re       ##正则表达式,进行文字匹配
import urllib.request,urllib.error      ##制定URL,获取网页数据
import xlwt     ##进行excel操作
import sqlite3  ##进行SQLite数据库操作

然后在主函数写爬取网页的步骤(在脑海有个框架)

def main():
    baseurl = "https://movie.douban.com/top250?start="
    # 1.爬取网页
    datalist = getData(baseurl)
    savepath = "豆瓣电影Top250.xls"  ##./和不写就是当前文件夹 .\\就是文件系统
    dbpath = "movie.db"
    # 3.保存数据
    saveData(datalist,savepath)
    # savaData2DB(datalist,dbpath)

    #askURL("https://movie.douban.com/top250?start=")

保存路径有两个方式,一个是保存到Excel,另一个是保存到MySql(数据量小可选择前者 量大则选择后者)

2、然后写爬取网页的函数,注意观察豆瓣页面,一共10页,每页25个电影。https://movie.douban.com/top250?start=(具体数字) 0就是第一页 ,以此类推

故可用循环写入列表中

def getData(baseurl):
    datalist = []
    for i in range(0,10):    ##调用获取页面信息的函数 10次
        url = baseurl +str(i*25)
        html = askURL(url)  ##保存获取到的网页源码

通过BeautifulSoup 解析网页,获取数据

soup = BeautifulSoup(html,"html.parser")
        for item in soup.find_all('div',class_="item"):  ##查找符合要求的字符串,行程列表
            #print(item)  ##测试查看电影item 全部信息
            data = []   ##保存一部电影的所有信息
            item = str(item)

3、模拟浏览器头部信息,向豆瓣服务器发送消息,用户代理表示告诉豆瓣服务器,我们是什么类型的机器 浏览器(本质上是告诉浏览器,我们可以接受什么水平的文件内容)可以去主函数测试一下askURL,看是否成功模拟浏览器

def askURL(url):
    head = {  "User-Agent": "Mozilla / 5.
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值