我想用python抓取网页里的图片,地址,商铺名,电话号码,怎么写代码

我想用python抓取网页里的图片,地址,商铺名,电话号码,怎么写代码,第1张

class DB(object):

def __init__(self, host, port, user,

passwd, db, use_unicode=True, charset='utf8'):

selfhost = host

selfport = port

selfuser = user

selfpasswd = passwd

selfdb = db

selfuse_unicode = use_unicode

selfcharset = charset

@property

def conn(self):

if not hasattr(self, '__conn'):

self__conn = MySQLdbconnect(

host=selfhost,

port=selfport,

user=selfuser,

passwd=selfpasswd,

db=selfdb,

use_unicode=selfuse_unicode,

charset=selfcharset

)

return self__conn

def reboot_conn(self):

if hasattr(self, '__conn'):

try:

self__connclose()

del self__conn

except:

pass

@catch_2006

def query(self, sql, args=None):

print sql

cursor = selfconncursor()

cursorexecute(sql, args)

cursorexecute('commit')

cursorclose()

@catch_2006

def select(self, sql, args=None, is_dict=False, is_one=False):

# print sql, args

if is_dict:

cursor = selfconncursor(cursorclass=DictCursor)

else:

cursor = selfconncursor()

cursorexecute(sql, args)

if is_one:

resultset = cursorfetchone()[0]

else:

resultset = cursorfetchall()

cursorclose()

return resultset

可以。URL全称统一资源定位符,如一个网页文档、一张、一个视频等都可以用URL唯一来确定。请求头:包含请求时的头部信息,如User-Agent,请求时额外携带的数据如表单提交时的表单数据,host和url可以确定是一个网站或应用,其他URL,并且将URL放入待抓取URL队列,从而进入下一个循环。

打开系统钥匙串应用,在我的证书中找到刚安装的Charles的Root证书,双击打开,在使用此证书这一栏选择始终相信

Help -> SSL Proxying -> Install Charles Root Certificate On a Mobile Device or Remote Browser

设置-通用-描述文件,点击证书进行安装

设置-关于本机-证书信任设置,打开对证书的信任

点击add添加代理

Host:输入你需要抓取数据的域名

Port:输入默认的443端口

到此就可以抓取到>

#start coding

首先要知道自己在爬什么~楼主说找到HTML的代码云云,思路其实是错误的。因为我们想要的内容不在原始的html里面。但是肯定在浏览器和服务器之间的通信里,我们只要找到这部分数据就好。

#我用的是Firefox的FireBug

选择网络(Chrome中应该是Network),点击调仓历史记录

可以看到浏览器和服务器之间进行了一次通信。我们截获了一个网址。打开看看。可以看到浏览器和服务器之间进行了一次通信。我们截获了一个网址。打开看看。

看上去像是一堆乱码,但是细心的话就会发现……

也就是说我们要的数据都在这里了,所以只要先获取这个页面的内容然后在提取数据就好了~

#python3项目,python2中请使用urllib和urllib2

import urllibrequest

url = 'cube_symbol=ZH010389&count=20&page=1'

req = urllibrequestRequest(url,headers=headers)

html = urllibrequesturlopen(req)read()decode('utf-8')

print(html)

运行一下~

报错了~报错没关系,兵来将挡水来土掩~

403禁止访问…应该是headers的问题…什么是headers呢…403禁止访问…应该是headers的问题…什么是headers呢…

你现在用python去访问网页,网页得到的请求就是你是python程序,但是网页并不想让程序看到自己,因为他是给人看的,资源都被程序占了算什么,所以我们要让python伪装成浏览器。

依然是用Firebug查看headers信息。

然后我们完善代码在访问过程中添加headers~然后我们完善代码在访问过程中添加headers~

import urllibrequest

headers = {'X-Requested-With': 'XML>

      有些网站为了防止spider对客户信息的抓取或者抓取一些信息被他人所利用,对访问网站进行了一定的限制,但这些网页可以通过浏览器正常访问,因此,我们通过把spider伪装成浏览器对网页进行抓取,这些步骤通过在urlopen(url,headers)中添加headers来完成。

1通过spider打开一个csdn博主的主页,会发现状态码返回403,这就说明这个博客网页加了限制。

    我们先通过Google的chrome浏览器打开这个csdn博客(>

1、tcpdump检测登录linux系统输入tcpdump,如果找不到表示没有安装。也可以用rpm查询。

2、输入yum install tcpdump 查找安装tcpdump,需要联网。

3、安装好之后,输入tcpdump 或rpm可以查询到了。

4、tcpdump -any i 就是抓取网卡所有的包,这个就是最全的。

5、tcpdump host指定地址,表示抓取来自指定地址的包。

6、筛选指定包,此外可以通过多条件叠加来抓取。用and连接。

7、然后检索一下刚刚重定向的文件里面的数据即可。

以上就是关于我想用python抓取网页里的图片,地址,商铺名,电话号码,怎么写代码全部的内容,包括:我想用python抓取网页里的图片,地址,商铺名,电话号码,怎么写代码、host和url可以唯一确定一个网站或应用吗、Charles抓取加密请求等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9841923.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存