python使用beutifulsoup来爬虫的基本套路

标签: python beutifulsoup 爬虫 | 发表时间:2018-03-26 23:19 | 作者:
出处:http://jackyrong.iteye.com
使用python3,比如爬kugo的榜单:

import requests
from bs4 import BeautifulSoup
import time

headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'
}

def get_info(url):
    wb_data = requests.get(url,headers=headers)
    soup = BeautifulSoup(wb_data.text,'lxml')
    ranks = soup.select('span.pc_temp_num')
    titles = soup.select('div.pc_temp_songlist > ul > li > a')
    times = soup.select('span.pc_temp_tips_r > span')
    for rank,title,time in zip(ranks,titles,times):
        data = {
            'rank':rank.get_text().strip(),
            'singer':title.get_text().split('-')[0],
            'song':title.get_text().split('-')[0],
            'time':time.get_text().strip()
        }
        print(data)

if __name__ == '__main__':
    urls = ['http://www.kugou.com/yy/rank/home/{}-8888.html'.format(str(i)) for i in range(1,2)]
    for url in urls:
        get_info(url)
        time.sleep(5)



  在上面的代码中 from bs4 import BeautifulSoup首先导入;
然后设置headers,
然后   soup = BeautifulSoup(wb_data.text,'lxml') 中,调用BeautifulSoup,
设置lxml解析器;
然后在
ranks = soup.select('span.pc_temp_num')
    titles = soup.select('div.pc_temp_songlist > ul > li > a')
这些,XPATH用CHROME浏览器的检查功能,查看下就可以了;
然后一个循环,把数据打印出来,注意其中用strip去掉空格;
然后
urls = ['http://www.kugou.com/yy/rank/home/{}-8888.html'.format(str(i)) for i in range(1,2)]
是python中很有特色的语法,设置一个URL的模板,其中{}就是要用format中的内容去替换的;


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [python beutifulsoup 爬虫] 推荐:

python使用beutifulsoup来爬虫的基本套路

- - jackyrong
使用python3,比如爬kugo的榜单:.   在上面的代码中 from bs4 import BeautifulSoup首先导入;. 然后   soup = BeautifulSoup(wb_data.text,'lxml') 中,调用BeautifulSoup,. 这些,XPATH用CHROME浏览器的检查功能,查看下就可以了;.

最全Python爬虫总结

- - CSDN博客综合推荐文章
最近总是要爬取一些东西,索性就把Python爬虫的相关内容都总结起来了,自己多动手还是好. (2)保存爬取的图片/视频和文件和网页. (7)某个网站的站内所有目录爬虫. (9)爬虫框架Scrapy   . 二,保存爬取的图片/视频和文件和网页. #图片/视频和文件和网页的地址抓取下来后,利用模块urllib里的urlretrieve()方法下载下来:.

Python写爬虫与网页解析

- - 互联网实践
Python写个简单爬虫,并作网页解析,还是非常高效的. urllib2是urllib得增强版,httplib更为底层,可以理解为urllib是对httplib的抽象. httplib是一个相对底层的http请求模块,其上有专门的包装模块,如urllib内建模块,goto等第三方模块,但是封装的越高就越不灵活,比如urllib模块里请求错误时就不会返回结果页的内容,只有头信息,对于某些需要检测错误请求返回值的场景就不适用,所以就得用这个模块了.

python爬虫实践之网页抓取

- - CSDN博客推荐文章
python自带了urllib和urllib2模块,以及第三方的requests库来抓取网页,这里我们使用easy_install包管理工具下载requests库,BeautifulSoup库,在CMD命令行下,切换到easy_install的目录,运行命令easy_install 包名称. 安装好requests包之后,我们就可以选择使用urllib,urllib2或requests库来抓取网页了.

开源Python网络爬虫框架Scrapy

- - 互联网实践
所谓网络爬虫,就是一个在网上到处或定向抓取数据的程序,当然,这种说法不够专业,更专业的描述就是,抓取特定网站网页的HTML数据. 不过由于一个网站的网页很多,而我们又不可能事先知道所有网页的URL地址,所以,如何保证我们抓取到了网站的所有HTML页面就是一个有待考究的问题了. 一般的方法是,定义一个入口页面,然后一般一个页面会有其他页面的URL,于是从当前页面获取到这些URL加入到爬虫的抓取队列中,然后进入到新新页面后再递归的进行上述的操作,其实说来就跟深度遍历或广度遍历一样.

[原][python]书籍信息爬虫示例

- - moxiaomomo的专栏
[python]书籍信息爬虫示例. 需要收集一些书籍信息,以豆瓣书籍条目作为源,得到一些有效书籍信息,并保存到本地数据库. 具体可参考这个链接:. 然后将这些分类标签链接存到本地某个文件,存储内容如下. 获取书籍信息,并保存本地数据库. 假设已经建好mysql表,如下:. 并已实现相关爬虫逻辑,主要用到了BeautifulSoup包,如下:.

基于 Python 的 Scrapy 爬虫入门:代码详解

- - SegmentFault 最新的文章
接下来创建一个爬虫项目,以 图虫网 为例抓取里面的图片. 在顶部菜单“发现” “标签”里面是对各种图片的分类,点击一个标签,比如“美女”,网页的链接为: https://tuchong.com/tags/美女/,我们以此作为爬虫入口,分析一下该页面:. 打开页面后出现一个个的图集,点击图集可全屏浏览图片,向下滚动页面会出现更多的图集,没有页码翻页的设置.

[Python爬虫]使用Selenium操作浏览器订购火车票

- -
     一个会写Python的Oracle DBA. [Python程序]利用微信企业号发送报警信息. [Python爬虫]使用Python爬取静态网页-斗鱼直播.  [Python爬虫]使用Python爬取动态网页-豆瓣电影(JSON).  [Python爬虫]使用Python爬取动态网页-腾讯动漫(Selenium).

[python爬虫] Selenium常见元素定位方法和操作的学习介绍

- - CSDN博客编程语言推荐文章
        这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法、鼠标操作、键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~.         前文目录:.          [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上).

Python +mysql 简易爬虫给新浪大 V 微博和文章做备份

- - V2EX - 技术
写了个爬虫定期抓取新浪指定用户的微博和文章,以防哪天失联了还能看备份. database.py 封装了各种 mysql 操作. post.py 抓取微博,每次抓取到上次抓取的时间为止. article.py 抓取文章,同上. gadget.py 用到的各种小工具. config.py 需要用到的参数.