第一次爬虫实例

第一次爬虫实例

1、这是我第一次写的爬虫实例,写的不好请见谅,最后发现爬取的次数多了,被网站拉黑了,还是需要代理才行,代理还不太清楚怎么弄就先这样了

后面请大神可以帮忙改下怎么使用代理爬取。

第一次爬取网站的所有电影信息(仅供参考)

具体思路就是先获取第一页上的信息

然后根据翻页上的页数来确定爬取多少页

#下一步就是要写怎么爬取这些电影的种子并且下载到本地,等有时间了在写

下面是具体代码:

import requests
from bs4 import BeautifulSoup
from concurrent.futures import ThreadPoolExecutor

root = ‘http://www.btrenren.com‘

def  bt_video(num):
    url = "http://www.btrenren.com/index.php/Index/index/p/%s.html"%num
    head = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36 LBBROWSER"}

    html = requests.get(url=url,headers=head)
    soup = BeautifulSoup(html.content,‘lxml‘)
    data = soup.find(‘div‘,class_="ml")
    data = data.find_all(class_="title")
    with open("video.txt", ‘a‘, encoding=‘utf-8‘) as f:
        for i in data:
            #电影名
            name = i.find_all(‘font‘)[1].get_text().split(‘/‘)[0]
            #日期国家
            vlue = i.find_all(class_=‘des‘)[0].get_text().split(‘\n‘)[0]
            #演员
            vlue1 = i.find_all(class_=‘des‘)[0].get_text().split(‘\n‘)[1]
            #豆瓣评分
            douban = i.find(class_="rt").get_text()
            #网页路径
            href = root + i.find_all(‘a‘)[1].get(‘href‘)
            #print(name,vlue,vlue1,douban,href)
            f.write(‘%s,%s,%s,%s,%s\n‘ % (name, vlue, vlue1, douban,href))
    print(num)

def num_video():
    url = "http://www.btrenren.com/index.php/Index/index/p/1.html"
    head = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36 LBBROWSER"}
    html = requests.get(url=url, headers=head)
    soup = BeautifulSoup(html.content, ‘lxml‘)
    number = soup.find(‘ul‘,class_="pagelist")
    number = number.find_all(‘span‘,class_="rows")
    num = number[0].get_text().split(‘ ‘)[1]
    return num

if __name__ == "__main__":
    executor = ThreadPoolExecutor(max_workers=30)
    num = int(num_video())
    for i in range(1,num):
        executor.submit(bt_video,i)
    executor.shutdown()
    exit()

原文地址:https://www.cnblogs.com/xu743876685/p/9575254.html

时间: 2024-10-11 12:50:51

第一次爬虫实例的相关文章

Python---BeautifulSoup 简单的爬虫实例

对python自动化比较熟的同学,很多都懂一些爬虫方法,有些还研究的很深,下面呢我介 绍一个简单的爬虫实例,供大家参考.当然里面有很多需求是可以再学习的,下载进度的显 示.下载完成的提示等等. 一.首先我们要研究爬虫网站的架构,我这里已ring.itools.cn为例,我需要爬的是铃声. 大家可以自己去分析,这个网站的架构比较简单就不讲了. 我们最终要获取的是下面两个信息: 二.我们写下面的脚本来获取 上面的脚本呢,获取到songname和playaddr都是一组数据,即都是列表,我们需要把 他

python爬虫实例(urllib&BeautifulSoup)

python 2.7.6 urllib:发送报文并得到response BeautifulSoup:解析报文的body(html) #encoding=UTF-8 from bs4 import BeautifulSoup from urllib import urlopen import urllib list_no_results=[]#没查到的银行卡的list list_yes_results=[]#已查到的银行卡的list #解析报文,以字典存储 def parseData(htmls,

python2安装httplib2及其小爬虫实例

本篇文章将教大家如何在python2中安装httplib2库,并且会通过一个小爬虫实例展示一下其功能. 首先大家可以从"https://code.google.com/p/httplib2/" 下载一款适合你的压缩包 (也可以从本篇文章的附件中直接下载lib2安装包) 解压你的压缩包到任意目录中(推荐是python的安装目录里) 3. 设置环境变量,这样就不用在命令行下给出python.exe的具体位置,具体说如下: 假设你的python安装在D:\Python目录下,设置环境变量方法

Python 爬虫实例

下面是我写的一个简单爬虫实例 1.定义函数读取html网页的源代码 2.从源代码通过正则表达式挑选出自己需要获取的内容 3.序列中的htm依次写到d盘 #!/usr/bin/python import re import urllib.request #定义函数读取html网页的源代码 def getHtml(url): page = urllib.request.urlopen(url) html = page.read() return html #从源代码通过正则表达式挑选出自己需要获取的

python爬虫实例详细介绍之爬取大众点评的数据

python 爬虫实例详细介绍之爬取大众点评的数据 一. Python作为一种语法简洁.面向对象的解释性语言,其便捷性.容易上手性受到众多程序员的青睐,基于python的包也越来越多,使得python能够帮助我们实现越来越多的功能.本文主要介绍如何利用python进行网站数据的抓取工作.我看到过利用c++和Java进行爬虫的代码,c++的代码很复杂,而且可读性.可理解性较低,不易上手,一般是那些高手用来写着玩加深对c++的理解的,这条路目前对我们不通.Java的可读性还可以,就是代码冗余比较多,

re模块,分组在re模块中的使用,使用正则表达式的技巧,爬虫实例

#re模块 import re # findall 返回列表 找所有的匹配项 # search 匹配就 返回一个变量,通过group取匹配到的第一个值,不匹配就返回None,group会报错 # match 相当于search的正则表达式中加了一个'^' # spilt 返回列表,按照正则规则切割,默认匹配到的内容会被切掉 # sub/subn 替换,按照正则规则去寻找要被替换掉的内容,subn返回元组,第二个值是替换的次数 # compile 编译一个正则表达式,用这个结果去search ma

爬虫实例 利用Ajax爬取微博数据

随着代理IP技术的普及,爬虫的使用也变得简单起来,许多企业和个人都开始用爬虫技术来抓取数据.那么今天就来分享一个爬虫实例,帮助你们更好的理解爬虫.下面我们用程序模拟Ajax请求,将我的前10页微博全部爬取下来.首先,定义一个方法来获取每次请求的结果.在请求时,page是一个可变参数,所以我们将它作为方法的参数传递进来,相关代码如下:首先,这里定义了base_url来表示请求的URL的前半部分.接下来,构造参数字典,其中type.value和containerid是固定参数,page是可变参数.接

python爬虫实例——爬取歌单

学习自http://www.hzbook.com/index.php/Book/search.html 书名:从零开始学python网络爬虫 爬取酷狗歌单,保存入csv文件 直接上源代码:(含注释) import requests #用于请求网页获取网页数据 from bs4 import BeautifulSoup #解析网页数据 import time #time库中的sleep()方法可以让程序暂停 import csv ''' 爬虫测试 酷狗top500数据 写入csv文件 ''' fp

Python3 爬虫实例(二) -- 伪装浏览器

一.伪装浏览器 对于一些需要登录的网站,如果不是从浏览器发出的请求,则得不到响应.所以,我们需要将爬虫程序发出的请求伪装成浏览器正规军.具体实现:自定义网页请求报头. 二.使用Fiddler查看请求和响应报头 打开工具Fiddler,然后再浏览器访问"https://www.douban.com/",在Fiddler左侧访问记录中,找到"200 HTTPS www.douban.com"这一条,点击查看其对应的请求和响应报头具体内容: 三.访问豆瓣 我们自定义请求报