python爬虫(一)

使用环境window10+python3.4

先安装requests

python3 -m pip install requests

1.  先使用青年文摘网站看看效果

import requests
html = requests.get("http://www.qnwz.cn/index.html")
print(html.content)

如果我们想把当前文本保存在一个文件里,可以这样操作

with open(filename, ‘wb‘) as fd:
    for c in html.iter_content():
        fd.write(c)

2. 有的时候网页就不可以直接爬取了,这时候可能要提交表单

import requests
params = {‘xxx‘: ‘xxx‘, ‘xxx‘: ‘xxx‘}
r = requests.post("http://who_am_i.com/form.php", data=params) #注意这里使用post方法来提交表单
print(r.text)

可能还会让你提交文件或者图像

import requests
files = {‘f‘: open(‘1.png‘, ‘rb‘)}
r = requests.post("http://who_am_i.com/xixi.php",files=files)
print(r.text)  #看起来也不会太复杂

也许还需要你处理登陆和cookies

import requests
session = requests.Session()
params = {‘username‘: ‘username‘, ‘password‘: ‘password‘}
s = session.post("http://who_am_i.com/haha.php", params)print(s.cookies.get_dict())
s = session.get("http://who_am_i.com/a.php")
print(s.text)

也许有时候会弹出一个登陆窗口,这时候requests还是能够优雅的处理

import requests
from requests.auth import AuthBase
from requests.auth import HTTPBasicAuth
auth = HTTPBasicAuth(‘username‘, ‘password‘)
r = requests.post(url="http://who_am_i.com//login.php", auth=auth)
print(r.text)

同时还有登陆需要验证码问题,这个就不太好处理了,一般思路是编写代码获取验证码的图片,手动输入,或者通过工具对验证码进行识别,自动输入,比如python的pytesseract就有识别验证码的功能,不妨一试。

3. 有些时候网页使用JavaScript渲染的,这时候通过requests直接获取的页面并不能像浏览器所看到的那样,这时候不妨下载一个PhantomJS程序来渲染js,要想在python中使用,需要安装selenium , 这个包具有模拟浏览器的功能

from selenium import webdriver
import time
driver = webdriver.PhantomJS(executable_path=‘填入PhantomJS程序安装路径,如D:\p\bin\PhantomJs‘)
driver.get("http://weixin.sogou.com/weixin?type=1&query=dp")
time.sleep(3)
print(driver.find_element_by_id("content").text)
driver.close()

基本步骤就这样,深入了解就查看selenium文档

时间: 2024-08-09 10:44:29

python爬虫(一)的相关文章

开始我的Python爬虫学习之路

因为工作需要经常收集一些数据,我就想通过学爬虫来实现自动化完成比较重复的任务. 目前我Python的状况,跟着敲了几个教程,也算是懂点基础,具体比较深入的知识,是打算从做项目中慢慢去了解学习. 我是觉得如果一开始就钻细节的话,是很容易受到打击而放弃的,做点小项目让自己获得点成就感路才更容易更有信心走下去. 反正遇到不懂的就多查多问就对了. 知乎上看了很多关于入门Python爬虫的问答,给自己总结出了大概的学习方向. 基础: HTML&CSS,JOSN,HTTP协议(这些要了解,不太需要精通) R

Python爬虫实战(2):爬取京东商品列表

1,引言 在上一篇<Python爬虫实战:爬取Drupal论坛帖子列表>,爬取了一个用Drupal做的论坛,是静态页面,抓取比较容易,即使直接解析html源文件都可以抓取到需要的内容.相反,JavaScript实现的动态网页内容,无法从html源代码抓取需要的内容,必须先执行JavaScript. 我们在<Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容>一文已经成功检验了动态网页内容的抓取方法,本文将实验程序进行改写,使用开源Python爬虫

转载:用python爬虫抓站的一些技巧总结

原文链接:http://www.pythonclub.org/python-network-application/observer-spider 原文的名称虽然用了<用python爬虫抓站的一些技巧总结>但是,这些技巧不仅仅只有使用python的开发可以借鉴,我看到这篇文章的时候也在回忆自己做爬虫的过程中也用了这些方法,只是当时没有系统的总结而已,谨以此文为鉴,为以前的爬虫程序做一个总结. 转载原文如下: 学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,

python爬虫Urllib实战

Urllib基础 urllib.request.urlretrieve(url,filenname) 直接将网页下载到本地 import urllib.request >>> urllib.request.urlretrieve("http://www.hellobi.com",filename="D:\/1.html") ('D:\\/1.html', <http.client.HTTPMessage object at 0x0000000

python 爬虫抓取心得

quanwei9958 转自 python 爬虫抓取心得分享 urllib.quote('要编码的字符串') 如果你要在url请求里面放入中文,对相应的中文进行编码的话,可以用: urllib.quote('要编码的字符串') query = urllib.quote(singername) url = 'http://music.baidu.com/search?key='+query response = urllib.urlopen(url) text = response.read()

[Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)

一. 文章介绍 前一篇文章"[python爬虫] Selenium爬取新浪微博内容及用户信息"简单讲述了如何爬取新浪微博手机端用户信息和微博信息. 用户信息:包括用户ID.用户名.微博数.粉丝数.关注数等. 微博信息:包括转发或原创.点赞数.转发数.评论数.发布时间.微博内容等. 它主要通过从文本txt中读取用户id,通过"URL+用户ID" 访问个人网站,如柳岩: http://weibo.cn/guangxianliuya 因为手机端数据相对精简简单,所以采用输

大量 python 爬虫源码分享--说说 python 爬虫这件小事

没有爬虫就没有互联网,越来越觉得写 Python 爬虫原来是一件快乐而高兴的事情,以下是本人收集整理的一批 python 爬虫代码,顺便分享到了别的网站上,喜欢的下下来看看吧. 内容: yunpan.360.cn.py 360 网盘爬虫 ed2k_search.py 电驴爬虫 music.163.com.py 163 音乐爬虫 music.baidu.com.py 百度音乐爬虫 pan.baidu.com.py 百度网盘爬虫 115.py 115 爬虫 91porn.py 91porn 爬虫 等

[Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

目录(?)[+] 前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时继续介绍Selenium+Python官网Locating Elements部分内容.        希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)        

Python 爬虫批量下载美剧 from 人人影视 HR-HDTV

本人比較喜欢看美剧.尤其喜欢人人影视上HR-HDTV 的 1024 分辨率的高清双字美剧,这里写了一个脚本来批量获得指定美剧的全部 HR-HDTV 的 ed2k下载链接.并依照先后顺序写入到文本文件,供下载工具进行批量下载.比方用迅雷.先打开迅雷,然后复制全部下载链接到剪切板,迅雷会监视剪切板来新建全部任务.假设迅雷没有自己主动监视,能够自己点击新建然后粘贴链接.Python源码例如以下.用的是Python3 : # python3 实现,以下的实例 3 部美剧爬完大概要 10 s import

教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

欢迎加入Python学习交流群:535993938  禁止闲聊 ! 名额有限 ! 非喜勿进 ! 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http://www.xiaohuar.com/,让你体验爬取校花的成就感. Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试. Scrapy吸引人的地方在于