Python怎样自动输入搜索内容,然后爬数据,返回,再次搜索

python3代码(正则表达式不用过于纠结,我的水平仅限于“能用”)
import refrom threading import Threadimport requestsresult_dict = {}def func(search_string): tar_url = "https://email.itd.uts.edu.au/webapps/directory/byname/index.mason" data = https://www.zhihu.com/api/v4/questions/66423107/{/u0026#39;searchfield/u0026#39;: /u0026#39;cn/u0026#39;, /u0026#39;searchoption/u0026#39;: /u0026#39;Contains/u0026#39;, /u0026#39;searchstring/u0026#39;: search_string, /u0026#39;.submit/u0026#39;: /u0026#39;Search/u0026#39;, /u0026#39;submittingsearch/u0026#39;: /u0026#39;1/u0026#39;} page_content = requests.post(url=tar_url, data=data).text RegEx ="\u0026lt;a+?\u0026gt;(+)\u0026lt;/a\u0026gt;+\u0026lt;br\u0026gt;+\u0026lt;/td\u0026gt;\\s+\u0026lt;td\u0026gt;(+)\u0026lt;/td\u0026gt;\\s+\u0026lt;td\u0026gt; \u0026lt;a*?\u0026gt;(+)\u0026lt;/a\u0026gt; \u0026lt;/td\u0026gt;\\s+\u0026lt;td\u0026gt;(+)\u0026lt;/td\u0026gt;\\s+\u0026lt;td\u0026gt;(+)\u0026lt;/td\u0026gt;" result = re.findall(RegEx, page_content) with open("result.txt", "a") as fa: for item in result: try: result_dict.update({item.strip(): "{}#{}#{}#{}#{}".format( item.strip() if item.strip() else "xxxx", item.strip() if item.strip() else "xxxx", item.strip() if item.strip() else "xxxx", item.strip() if item.strip() else "xxxx", item.strip() if item.strip() else "xxxx")}) except BaseException as e: passwith open("result.txt", "a") as fa: fa.write("name#position#email#tel#fax\")ss = "abcdefghijklmnopqrstuvwxyz"for index1 in ss: print(index1) thread_list = for index2 in ss: thread_list.append(Thread(target=func, args=)) for t in thread_list: t.start() for t in thread_list: t.join()with open("result.txt", "a") as fa: for k in result_dict.keys(): item = result_dict.get(k, "") if item: fa.write(item+"\")获取到的文件为result.txt建议用excel打开,分隔符为#,格式化数据如下。
Python怎样自动输入搜索内容,然后爬数据,返回,再次搜索

其中xxxx表示该项为空。
整理后的excel文件已经上传到百度网盘,可以直接下载使用。
http://pan.baidu.com/s/1i5ahpDN

■网友
这种让你提交 选项的即search 的网页内容 一般都是post类型网页
所以 你在post data 里面 填写 所需要的搜索的关键词,
Python怎样自动输入搜索内容,然后爬数据,返回,再次搜索

看到下面的那个 searchstring 了没,修改后面的数据就可以了。
通过 requests 或者 urllib.reqeust 抓取就可以了。

把你需要搜索的关键词 做一个列表,然后通过for 循环 每次提取一个关键词 作为searchstring 的目标数据。

■网友
【Python怎样自动输入搜索内容,然后爬数据,返回,再次搜索】 之前没看到代码尴尬了


推荐阅读