python爬虫

Python学习2

主宰稳场 提交于 2020-02-05 02:38:52
1、爬虫知识(0204隐藏) import urllib.request import random url=‘http://www.whatismyip.com.tw’ iplist=[‘115.239.24.140:9999’,‘119.6.144.73:81’,‘183.203.208.166:8118’] proxy_support=urllib.request.ProxyHandler({‘http’:random.choice(iplist)}) opener=urllib.request.build_opener(proxy_support) opener.addheaders=[{‘User-Agent’,‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36’}] urllib.request.install_opener(opener) response=urllib.request.urlopen(url) html=response.read().decode(‘utf.8’) print(html) 来源: CSDN 作者: 爱吃爱困爱生活、 链接: https://blog

Python爬虫自学之第(零)篇——爬虫思路和request模块使用

你离开我真会死。 提交于 2020-02-04 20:13:39
爬虫思路 无思路不成器,如果你怎么想都想不出爬虫的原理,不妨来看下我们平时是如何上网的,大概就是这样:    输入或者点开目标网址→[可选:登录/回复]→浏览全页筛选出价值内容→如果很喜欢,还会拷贝下载回来 所以爬虫归结起来也就这几步: 构造目标网址( 重点 ) 发起请求(request),相当于点开网页。 获取网页内容( 坑 )。 定制筛选器,对内容进行筛选( 重点 )。 把爬取结果保存到容器里。 本节学习的requests模块将会实现二,三步,其他步骤和注意事项将会在后续文章中展示出来。 谷歌或者火狐的F12审查元素 这是浏览器自带的工具,提供抓包和检查网页源码的功能,供使用者分析网页。也是 学爬虫必须要学会的工具 ,一个优秀的虫爸/虫妈应该花更多的时间在网页分析和debug上。 使用非常简单,打开任一浏览器(笔者的是google chrome),按F12或鼠标右键检查。 选择 Element 是查看网页源码,是树结构的html文档,里面有要爬取的内容。 选择 Network 是查看本地和服务器端交互的包,可以从中获取目标网址和headers。 requests模块 打开cmd,直接pip安装:pip install requests 简单使用 首先呈上 官方文档 ,有中文版,欢迎来啃。 下面主要介绍两种方法:get和post get,就是本地向服务器索取的意思

爬虫基础——scrapy基本使用

筅森魡賤 提交于 2020-02-04 19:11:58
scrapy支持 Python2.7 和 python3.4 以上版本。 python包可以用全局安装(也称为系统范围),也可以安装咋用户空间中。 Windows 1.在 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载对应的Twisted的版本文件 2. 在命令行进入到Twisted的目录 执行pip install 加Twisted文件名 3.执行pip install scrapy Ubuntu 14.04或以上 安装 scrapy目前正在使用最新版的lxml,twisted和pyOpenSSL进行测试,并且与最近的Ubuntu发行版兼容。但它也支持旧版本的Ubuntu,比如Ubuntu14.04,尽管可能存在TLS连接问题。 Ubuntu安装注意事项 不要使用 python-scrapyUbuntu提供的软件包,它们通常太旧而且速度慢,无法赶上最新的Scrapy。 要在Ubuntu(或基于Ubuntu)系统上安装scrapy,您需要安装这些依赖项: sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev 如果你想在python3上安装scrapy,你还需要Python3的开发头文件:

python爬虫框架之scrapy安装记

雨燕双飞 提交于 2020-02-04 12:17:36
火柴人大战scrapy 一、Windows安装Scrapy框架 一、Windows安装Scrapy框架 安装lxml解析库 pip3 install lxml 安装依赖包pyOpenSSL 在官方网站下载 wheel 文件(详见 https://pypi.python.org/pypi/pyOpenSSL#downloads)即可 pip3 install pyOpenSSL - 17.2 .0 - py2 . py3 - none - any . whl (要执行命令要选择依赖放入的目录) 安装PyWin32 依赖包链接: https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/ 入坑记: 选择对应python时下载的位数下载对应PyWin32对应的位数安装包,安装成功后如果下一步报version required啥的,就说明位数或者版本没有对应上,下一步自动抓取不到python文件的位置。 安装Scrapy pip3 install Scrapy (这里的一切运行报错都有可能是因为你缺少依赖包) 验证Scrapy是否安装成功 输入 scrapy 即可 来源: CSDN 作者: MatchstickMen_roukun 链接: https://blog.csdn.net/qq_43264377

Python实现爬虫从网络上下载文档

北城余情 提交于 2020-02-04 11:19:14
最近在学习Python,自然接触到了爬虫,写了一个小型爬虫软件,从初始Url解析网页,使用正则获取待爬取链接,使用beautifulsoup解析获取文本,使用自己写的输出器可以将文本输出保存,具体代码如下: Spider_main.py # coding:utf8 from baike_spider import url_manager, html_downloader, html_parser, html_outputer class SpiderMain(object): def __init__(self): self.urls = url_manager.UrlManager() self.downloader = html_downloader.HtmlDownloader() self.parser = html_parser.HtmlParser() self.outputer = html_outputer.HtmlOutputer() def craw(self, root_url): count = 1 self.urls.add_new_url(root_url) while self.urls.has_new_url(): print("self.urls.has %s" % self.urls.new_urls) try: new_url = self

爬虫例子入门玩玩

混江龙づ霸主 提交于 2020-02-04 11:16:55
目标:爬取百度百科关于Python的100个网页 工具环境:Python 3.5 , Sublime Text 3 爬虫调度程序:spider_main.py # coding:utf8 # from baike_spider import url_manager, html_downloader, html_parser, \ # html_outputer import url_manager, html_downloader, html_parser, \ html_outputer import socket class SpiderMain(object): #构造方法 def __init__(self): #url管理器 self.urls = url_manager.UrlManager() #下载器 self.downloader = html_downloader.HtmlDownloader() #解析顺 self.parser = html_parser.HtmlParser() #输出器 self.outputer = html_outputer.HtmlOutputer() self.log_datas = [] #log列表 #爬虫调度程序 def craw(self, root_url): count = 1 self.urls.add_new

python简易爬虫

一笑奈何 提交于 2020-02-04 11:07:59
这两天看了一下python的基础语法,跟着网上的教程爬了一下百度百科和python相关联的词条。采用了beautifulsoup4插件 下面是流程 首先是一个url管理器,负责增加/获取/判断是否有url 1 # coding:UTF8 2 #url管理器 3 class UrlManager(object): 4 def __init__(self): 5 self.new_urls=set() 6 self.old_urls=set() 7 8 def add_new_url(self,url): 9 if url is None: 10 return 11 12 if url not in self.new_urls and url not in self.old_urls: 13 self.new_urls.add(url) 14 15 def add_new_urls(self,urls): 16 if urls is None or len(urls)==0: 17 return 18 19 for url in urls: 20 self.add_new_url(url) 21 22 def has_new_url(self): 23 return len(self.new_urls)!=0 24 25 26 def get_new_url(self): 27 new

Python2.7爬虫练习爬百度百科python词条

牧云@^-^@ 提交于 2020-02-04 10:07:51
Eclipse New Project | New PyDev Package | New PyDev Module Project:0418 Package:SpiderTest Module: 5个模块,spider_main爬虫入口,=》 url_manager URL管理器, =》html_downloader 类似C#的HttpWebRequest请求获取html响应,=》 html_parser 类似HtmlAgilityPack的数据分析,=》 html_outputer 输出到文件 1.spider_main # coding:utf8 from baike_spider import url_manager, html_downloader, html_parser, html_outputer class SpiderMain(object): def __init__(self): self.urls = url_manager.UrlManager() self.downloader = html_downloader.HtmlDownLoader() self.parser = html_parser.HtmlParser() self.outputer = html_outputer.HtmlOutPuter() def craw(self, root

python爬虫笔记

余生颓废 提交于 2020-02-04 00:54:12
1.urllib库中request,parse的学习 1.1 简单的请求页面获取,并下载到本地 request的使用 from urllib import request # 获取此网页的demout resp = request.urlopen('http://www.baidu.com') # 读出10个字符 # 结果为 b'<!DOCTYPE ' b代表bytes 是一个字节流 # '<!DOCTYPE ' 包括空格 正好十个字符 # print(resp.read(10)) # 读取一行 # 结果为 b'<!DOCTYPE html>\n' # \n 代表换行 # ()里面可以写读几行 # print(resp.readline()) # 全部读取 二者对应的返回类型不同 # <class 'list'> readlines # <class 'bytes'> read # print(type(resp.readlines())) # print(type(resp.read())) # 下载到本地文件夹 request.urlretrieve('http://www.baidu.com', 'baidu.html') 1.2 parse的使用 1.2.1 解决中文与码的对应问题 例:中文变成码 name=%E9%AB%98%E8%BE%BE 这些带%和中文之间的转换 1

Python爬虫(七)——中国大学排名爬虫

两盒软妹~` 提交于 2020-02-04 00:21:39
文章目录 Python爬虫(七)——中国大学排名定向爬虫 确定爬虫是否可行 设计程序的结构 步骤 实现方法 模块的引入 get_HTML_text() fill_univ_list() print_univ_list() 全部代码 Python爬虫(七)——中国大学排名定向爬虫 我们将使用上海交大开发的软科排名。网站: http://www.zuihaodaxue.com/BCSR/ruanjiangongcheng2019.html 我们的目的是从这个网页中提取出2019年中国软件工程学科的排名、大学名称和总分。我们将会使用requests和bs4库。 确定爬虫是否可行 首先我们打开这个网站查看网站源代码。 发现里面有我们要的信息。然后查看网站的robots.txt,发现没有这个文件,因此我们爬取信息是合法的。 设计程序的结构 步骤 整个过程可以分为三步 从网络上获取大学排名网页内容,方法get_HTML_text() 提取网页内容中信息到合适的数据结构中,方法fill_univ_list() 利用数据结构展示结果,方法print_univ_list() 实现方法 模块的引入 我们使用requests库和bs4库,代码: import requests from bs4 import BeautifulSoup import bs4 get_HTML_text() 输入为网页链接