温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

爬虫简单总结!

发布时间:2020-07-03 16:55:15 来源:网络 阅读:260 作者:我可真棒 栏目:编程语言

执行Python程序

执行入门编程代码“Hello,World!”,用Python输出“Hello,World!”

#!/usr/bin/env/python
prent ("Hello,World!")
    #!/usr/bin/python             是告诉操作系统执行这个脚本的时候,调用 /usr/bin 下的 python 解释器。这种用法是为了防止操作系统用户没有将 python 装在默认的 /usr/bin 路径里。当系统看到这一行的时候,首先会到 env 设置里查找 python 的安装路径,再调用对应路径下的解释器程序完成操作。

常用的第三方库

requests:是一个常用的用于http请求的模块,它使用python语言编写,
可以方便的对网页进行爬取,是学习python爬虫的较好的http
请求模块。

BeautifulSoup:是编写 python 爬虫常用库之一,主要用来解析 html
标签

import josn: 是一种轻量级的数据交换格式,易于人阅读和编写。

xwlt: 这是一个开发人员用来生成与微软Excel版本95到2003兼容的电子表格
文件的库。

mongo: 非关系型数据库
链接数据库:
./mongod *&
./mongo
pymongo

import os: OS: 模块简单的来说它是一个Python的系统编程的操作模块,
可以处理文件和目录这些我们日常手动需要做的操作。

import sys: sys模块包含了与Python解释器和它的环境有关的函数。

from pc1 import*: 导入模块,每次使用模块中的函数,直接使用函数就
可以了。注:因为已经知道该函数是那个模块中的了。

爬虫!

    1. 访问网站,拿到html网页 
    2. 提取html中我们 想要的内容 
    3. 把我们 爬到的内容 存到 数据库 

下面要从网页上爬下照片到我们的数据库中!

#!/usr/bin/env python
#encoding=utf-8  

用来说明你的Python源程序文件用使用的编码。缺省情况下你的程序需要使用ascii码来写,但如果在其中写中文的话,python解释器一般会报错,但如果加上你所用的文件编码,python就会自动处理不再报错。

import requests
from bs4 import BeautifulSoup
import os
url = 'http://www.stallman.org/photos/rms-working/pages/{}.html'

导入我们需要的模块及网站!

def spider(url):
list_n = range(1,149)
base_url = 'http://www.stallman.org/photos/rms-working/'

<base> 标签为页面上的所有链接规定默认地址或默认目标。

通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。

使用<base>标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 <a>、<img>、<link>、<form> 标签中的 URL。

for i in list_n:
          print i  
          url_req = url.format(str(i))
          print url

建立一个循环,将我们要访问的网站页数作为变量(i),带入到我们的网站中

    res = requests.get(url_req,timeout=5)
    html = res.content
    soup = BeautifulSoup(html, 'html.parser')
    img = soup.find('img')
    src =  img.get('src')

访问网站, timeout=5 ,5S后没有反应是终止;
将网站内容带入到html中;
将html中的内容用bs4中的BeautifulSoupbianyi编译成超链接文本,方便我们查找需要的内容。(也可以不进行编译,不过接下来我们只能用正则表达式的方式查找。及其麻烦)并且带入到soup中;
在我们刚才得到的soup中查找图片链接(imp);
将找到的图片写入src中。

   url_image = base_url + src.split('../')[1]
   os.system('wget %s' % url_image)

将我们得到的src和之前输入的网址连接,就得到我们要爬的内容了(../ :返回上级,也就是url中../rms-working/一级);
然后我们就可以用os命令下载了!

奈斯!!!!!!!!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI