python爬虫入门(1)


python爬虫入门(1)


初识爬虫,了解简单的概念后,先做一点小的项目,打几行代码,感受一下,才方便继续学习。

在pycharm上运行需要的函数库:
简单地来说:
lxml–其中的HTML可解析网页
pip(似乎需要最新版本)
requests–申请访问

直接上代码(每一个必要位置均有注释):

(xpath最后会提到)

import requests
url = 'http://movie.douban.com/top250'
#伪装身份--headers--dic

headers = {
     'user-agent':'mozilla/5.0'}    #伪装成浏览器
resp = requests.get(url,headers=headers)
a = resp.status_code
print(a)

#请求成功--a==200

html = resp.text    #输出更加美观(尽管是看不懂)
#print(html)

#网页内容解析

from lxml import etree
from parsel import selector  #这个是另一个与xpath有类似功能的库

parse_html = etree.HTML(html)   #解析网页  下面的text()务必写成函数形式
one = parse_html.xpath('//*[@id="content"]/div/div[1]/ol/li[1]/div/div[2]/div[1]/a/span[1]/text()')    #以文本格式输出UTF-8,否则为element
print(one)

#在开发者模式下仔细观察会发现:每个电影的代码只有细微的差别
#//*[@id="content"]/div/div[1]/ol/li[1]/div/div[2]/div[1]/a/span[1]
#//*[@id="content"]/div/div[1]/ol/li[2]/div/div[2]/div[1]/a/span[1]

#去掉不一致的代码([n])会打出所有的电影(该页面的所有)
all = parse_html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[1]/a/span[1]/text()')
print(all)
#获取评分
score = parse_html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[2]/div/span[2]/text()')
print(score)

x = parse_html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[2]/p[2]/span/text()')
print(x)



#小提示:如果使用pycharm,则注意选择运行结果栏左边的自动换行,更美观。(滚轮难受得一批)

xpath的获取:
在浏览器中找到开发者模式,如图:
python爬虫入门(1)_第1张图片

然后点击上面栏的最左边一个按钮:

python爬虫入门(1)_第2张图片

最后点击你需要的内容,代码会自动跟随,复制/span的xpath即可:

python爬虫入门(1)_第3张图片
打卡:day 1!!!
朋友们年后加油啊!!!

你可能感兴趣的:(小项目,xpath,python,爬虫)